(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {(/sbin) (Id.Lit_Other ':') (/usr/sbin) (Id.Lit_Other ':') (/bin) (Id.Lit_Other ':') (/usr/bin) } spids: [28] ) ] ) (C {(.)} {(/lib/lsb/init-functions)}) (command.ShFunction name: do_start body: (command.BraceGroup children: [ (C {(log_action_begin_msg)} {(DQ ('Asking all remaining processes to terminate'))}) (C {(killall5)} {(-15)}) (C {(log_action_end_msg)} {(0)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:alldead) op: assign_op.Equal rhs: {(DQ )} spids: [75] ) ] ) (command.ForEach iter_name: seq iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)} {(6)} {(7)} {(8)} {(9)} {(10)}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(killall5)} {(-18)}) terminator: (Token id:Id.Op_Semi val:';' span_id:138) ) ] action: [(C {(Id.Lit_Other ':')})] spids: [132 140] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:alldead) op: assign_op.Equal rhs: {(1)} spids: [149] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Break val:break span_id:153) ) ] ) (C {(sleep)} {(1)}) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ ($ Id.VSub_DollarName '$alldead'))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:180) ) ] action: [ (C {(log_action_begin_msg)} {(DQ ('Killing all remaining processes'))}) (C {(killall5)} {(-9)}) (C {(log_action_end_msg)} {(1)}) ] spids: [168 182] ) ] else_action: [ (C {(log_action_begin_msg)} {(DQ ('All processes ended within ') ($ Id.VSub_DollarName '$seq') (' seconds.'))} ) (C {(log_action_end_msg)} {(0)}) ] ) ] ) ) (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list:[{(start)}] action:[(C {(do_start)})] spids:[236 237 243 -1]) (case_arm pat_list: [{(restart)} {(reload)} {(force-reload)}] action: [ (command.Simple words: [{(echo)} {(DQ ("Error: argument '") ($ Id.VSub_Number '$1') ("' not supported"))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:262) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:266) arg_word: {(3)} ) ] spids: [246 251 271 -1] ) (case_arm pat_list:[{(stop)} {(status)}] spids:[274 277 284 -1]) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (command.Simple words: [{(echo)} {(DQ ('Usage: ') ($ Id.VSub_Number '$0') (' start|stop'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:299) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:303) arg_word: {(3)} ) ] spids: [287 288 308 -1] ) ] ) ] )