(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:PATH) rhs: {(/sbin) (Lit_Other ":") (/usr/sbin) (Lit_Other ":") (/bin) (Lit_Other ":") (/usr/bin)} spids: [31] ) ] spids: [31] ) (C {(.)} {(/lib/lsb/init-functions)}) (FuncDef name: report_unkillable body: (BraceGroup children: [ (AndOr children: [ (C {(Lit_Other "[")} {(-x)} {(/usr/share/apport/unkillable_shutdown)} {(Lit_Other "]")}) (C {(return)}) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: (Sentence command: (AndOr children: [ (C {(Lit_Other "[")} {(KW_Bang "!")} {(-e)} {(/etc/default/apport)} {(Lit_Other "]")} ) (Pipeline children: [ (C {(grep)} {(-q)} {(SQ <"^enabled[[:space:]]*=[[:space:]]*1">)} {(/etc/default/apport)} ) ] negated: True ) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) action: (C {(return)}) spids: [-1 96] ) ] spids: [-1 102] ) (C {(/usr/share/apport/unkillable_shutdown)} {($ VSub_Name "$OMITPIDS")}) ] spids: [53] ) spids: [49 52] ) (FuncDef name: upstart_killed_jobs body: (BraceGroup children: [ (Pipeline children: [(C {(initctl)} {(list)}) (C {(grep)} {(SQ <stop/killed>)})] negated: False ) ] spids: [117] ) spids: [112 116] ) (FuncDef name: upstart_jobs body: (BraceGroup children: [ (Pipeline children: [ (C {(initctl)} {(list)}) (C {(grep)} {(-E)} {(SQ <"(start/|stop/killed)">)}) (C {(sed)} {(-n)} {(-e)} {(DQ ("/process [0-9]/s/.*process //p"))}) ] negated: False ) ] spids: [140] ) spids: [135 139] ) (FuncDef name: do_stop body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:OMITPIDS) rhs:{(SQ )} spids:[180])] spids: [180] ) (ForEach iter_name: omitfile iter_words: [{(/run/sendsigs.omit)}] do_arg_iter: False body: (DoGroup child: (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-e)} {($ VSub_Name "$omitfile")} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) action: (ForEach iter_name: pid iter_words: [ { (CommandSubPart command_list: (C {(cat)} {($ VSub_Name "$omitfile")}) spids: [216 220] ) } ] do_arg_iter: False body: (DoGroup child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:OMITPIDS) rhs: { (DQ (BracedVarSub token: <VSub_Name OMITPIDS> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {($ VSub_Name "$OMITPIDS") (" ")} ) spids: [228 233] ) ("-o ") ($ VSub_Name "$pid") ) } spids: [226] ) ] spids: [226] ) spids: [223 239] ) spids: [215 221] ) spids: [-1 207] ) ] spids: [-1 242] ) spids: [193 245] ) spids: [189 191] ) (ForEach iter_name: omitdir iter_words: [{(/run/sendsigs.omit.d)}] do_arg_iter: False body: (DoGroup child: (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-d)} {(DQ (${ VSub_Name omitdir))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (ForEach iter_name: pidfile iter_words: [{(DQ (${ VSub_Name omitdir) (/)) (Lit_Other "*")}] do_arg_iter: False body: (DoGroup child: (CommandList children: [ (AndOr children: [ (C {(Lit_Other "[")} {(-f)} {(DQ ($ VSub_Name "$pidfile"))} {(Lit_Other "]")} ) (C {(continue)}) ] op_id: Op_DPipe ) (ForEach iter_name: pid iter_words: [ { (CommandSubPart command_list: (C {(cat)} {($ VSub_Name "$pidfile")}) spids: [330 334] ) } ] do_arg_iter: False body: (DoGroup child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:OMITPIDS) rhs: { (DQ (BracedVarSub token: <VSub_Name OMITPIDS> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {($ VSub_Name "$OMITPIDS") (" ")} ) spids: [342 347] ) ("-o ") ($ VSub_Name "$pid") ) } spids: [340] ) ] spids: [340] ) spids: [337 353] ) spids: [329 335] ) ] ) spids: [306 356] ) spids: [296 304] ) spids: [-1 288] ) ] spids: [-1 359] ) spids: [270 362] ) spids: [266 268] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-x)} {(/sbin/initctl)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) action: (ForEach iter_name: pid iter_words: [{(CommandSubPart command_list:(C {(upstart_jobs)}) spids:[398400])}] do_arg_iter: False body: (DoGroup child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:OMITPIDS) rhs: { (DQ (BracedVarSub token: <VSub_Name OMITPIDS> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {($ VSub_Name "$OMITPIDS") (" ")} ) spids: [408 413] ) ("-o ") ($ VSub_Name "$pid") ) } spids: [406] ) ] spids: [406] ) spids: [403 419] ) spids: [397 401] ) spids: [-1 389] ) ] spids: [-1 422] ) (C {(sync)}) (C {(log_action_begin_msg)} {(DQ ("Asking all remaining processes to terminate"))}) (C {(killall5)} {(-15)} {($ VSub_Name "$OMITPIDS")}) (C {(log_action_end_msg)} {(0)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:alldead) rhs:{(DQ )} spids:[476])] spids: [476] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:OMITPIDS0) rhs: {(DQ ($ VSub_Name "$OMITPIDS"))} spids: [481] ) ] spids: [481] ) (ForEach iter_name: seq iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)} {(6)} {(7)} {(8)} {(9)} {(10)}] do_arg_iter: False body: (DoGroup child: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:OMITPIDS) rhs: {(DQ ($ VSub_Name "$OMITPIDS0"))} spids: [517] ) ] spids: [517] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-x)} {(/sbin/initctl)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) action: (ForEach iter_name: pid iter_words: [ { (CommandSubPart command_list: (C {(upstart_jobs)}) spids: [580 582] ) } ] do_arg_iter: False body: (DoGroup child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:OMITPIDS) rhs: { (DQ (BracedVarSub token: <VSub_Name OMITPIDS> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {($ VSub_Name "$OMITPIDS") (" ")} ) spids: [590 595] ) ("-o ") ($ VSub_Name "$pid") ) } spids: [588] ) ] spids: [588] ) spids: [585 601] ) spids: [579 583] ) spids: [-1 571] ) ] spids: [-1 604] ) (If arms: [ (if_arm cond: (Sentence command: (C {(killall5)} {(-18)} {($ VSub_Name "$OMITPIDS")}) terminator: <Op_Semi ";"> ) action: (C {(Lit_Other ":")}) spids: [-1 617] ) ] else_action: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:alldead) rhs: {(1)} spids: [626] ) ] spids: [626] ) (C {(break)}) ] ) spids: [623 633] ) (C {(sleep)} {(1)}) ] ) spids: [514 642] ) spids: [492 512] ) (While cond: (Sentence command: (C {(Lit_Other "[")} {(-n)} {(DQ (CommandSubPart command_list:(C {(upstart_killed_jobs)}) spids:[685687]))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) body: (DoGroup child: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:seq) rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name "$seq")}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [698 703] ) } spids: [697] ) ] spids: [697] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {($ VSub_Name "$seq")} {(-ge)} {(300)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (C {(break)}) spids: [-1 720] ) ] spids: [-1 726] ) (C {(sleep)} {(1)}) ] ) spids: [694 736] ) ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$alldead"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (C {(log_action_begin_msg)} {(DQ ("Killing all remaining processes"))}) (C {(killall5)} {(-9)} {($ VSub_Name "$OMITPIDS")}) (C {(log_action_end_msg)} {(1)}) ] ) spids: [-1 754] ) ] else_action: (CommandList children: [ (C {(log_action_begin_msg)} {(DQ ("All processes ended within ") ($ VSub_Name "$seq") (" seconds"))} ) (C {(log_action_end_msg)} {(0)}) ] ) spids: [783 800] ) ] spids: [177] ) spids: [172 176] ) (Case to_match: {(DQ ($ VSub_Number "$1"))} arms: [ (case_arm pat_list:[{(start)}] action:(NoOp) spids:[814815822-1]) (case_arm pat_list: [{(restart)} {(reload)} {(force-reload)}] action: (CommandList children: [ (SimpleCommand words: [{(echo)} {(DQ ("Error: argument '") ($ VSub_Number "$1") ("' not supported"))}] redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(2)} fd:-1 spids:[841])] ) (C {(exit)} {(3)}) ] ) spids: [825 830 850 -1] ) (case_arm pat_list:[{(stop)}] action:(C {(do_stop)}) spids:[853854860-1]) (case_arm pat_list: [{(Lit_Other "*")}] action: (CommandList children: [ (SimpleCommand words: [{(echo)} {(DQ ("Usage: ") ($ VSub_Number "$0") (" start|stop"))}] redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(2)} fd:-1 spids:[875])] ) (C {(exit)} {(3)}) ] ) spids: [863 864 884 -1] ) ] spids: [805 811 886] ) (C {(Lit_Other ":")}) ] )