(command.CommandList children: [ (command.Simple blame_tok: <_Dbg_help_add> more_env: [] words: [ {<_Dbg_help_add>} {<kill>} { (DQ <'**kill** [*signal-number*]\n'> <'\n'> <'Send this process a POSIX signal (\'9\' for \'SIGKILL\' or \'kill -SIGKILL\')\n'> <'\n'> <'9 is a non-maskable interrupt that terminates the program. If program is threaded it may\n'> <'be expedient to use this command to terminate the program.\n'> <'\n'> <'However other signals, such as those that allow for the debugged to handle them can be\n'> <'sent.\n'> <'\n'> <'Giving a negative number is the same as using its positive value.\n'> <'\n'> <'Examples:\n'> <'---------\n'> <'\n'> <' kill # non-interuptable, nonmaskable kill\n'> <' kill 9 # same as above\n'> <' kill -9 # same as above\n'> <' kill 15 # nicer, maskable TERM signal\n'> <' kill! 15 # same as above, but no confirmation\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <'**quit** for less a forceful termination command.\n'> <'**run** is a way to restart the debugged program.\n'> <'Also similar is the **signal** command.'> ) } ] redirects: [] do_fork: T ) (command.ShFunction name_tok: <_Dbg_do_kill> name: _Dbg_do_kill body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_Pound '#')} right: {<Id.Lit_Digits 1>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_errmsg> more_env: [] words: [ {<_Dbg_errmsg>} {(DQ <'Got '> ($ Id.VSub_Pound '#') <' parameters, but need 0 or 1.'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [104 116] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<Id.Lit_VarLike '_Dbg_prompt_output='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_tty> var_name: _Dbg_tty suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<Id.Lit_Slash '/'> <dev> <Id.Lit_Slash '/'> <null>} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike 'signal='> (SQ <-9>)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Pound '#')} right: {<Id.Lit_Digits 1>} ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'signal='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'signal='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'signal='> name:signal) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 1))} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name signal> var_name: signal suffix_op: (suffix_op.Slice begin: {<Id.Lit_Digits 0>} length: {<Id.Lit_Digits 1>} ) right: <Id.Arith_RBrace _> ) } right: {(SQ <->)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_errmsg> more_env: [] words: [ {<_Dbg_errmsg>} { (DQ <'Kill signal ('> ($ Id.VSub_DollarName signal) <') should start with a \'-\''> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<2>} ) ] spids: [175 197] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <_Dbg_confirm> more_env: [] words: [ {<_Dbg_confirm>} { (DQ <'Send kill signal '> (${ Id.VSub_Name signal) <' which may terminate the debugger? (y/N): '> ) } {(SQ <N>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName _Dbg_response)} right: {<Id.Lit_Other '['> <yY> <Id.Lit_Other ']'>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName signal)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-9> pattern: (pat.Words words:[{<-9>} {<-SEGV>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_cleanup2> more_env: [] words: [{<_Dbg_cleanup2>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <kill> more_env: [] words: [{<kill>} {($ Id.VSub_DollarName signal)} {($ Id.VSub_Dollar '$')}] redirects: [] do_fork: T ) ] spids: [234 250] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [{<_Dbg_msg>} {(DQ <'Kill not done - not confirmed.'>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<3>} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )