(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(set)} {(-o)} {(pipefail)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:lfile) op:Equal rhs:{(DQ (/usr/dict/words))} spids:[55])] spids: [55] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rpath) op: Equal rhs: {(DQ (/poseidon/stor/words))} spids: [63] ) ] spids: [63] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:mininputs) op:Equal rhs:{(400)} spids:[71])] spids: [71] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:maxinputs) op:Equal rhs:{(600)} spids:[77])] spids: [77] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:maxtimeout) op:Equal rhs:{(15)} spids:[83])] spids: [83] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:jobid) op:Equal rhs:{(SQ )} spids:[90])] spids: [90] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:sleeptime) op:Equal rhs:{(SQ )} spids:[92])] spids: [92] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:nkeys) op:Equal rhs:{(SQ )} spids:[94])] spids: [94] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:njobs) op:Equal rhs:{(0)} spids:[96])] spids: [96] ) (FuncDef name: cleanup body: (BraceGroup children: [ (C {(echo)} { (DQ ('completed ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$njobs') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' iterations') ) } ) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ ($ VSub_Name '$jobid'))}) ) (C {(exit)} {(1)}) ] op_id: Op_DPipe ) (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(date)})]) left_token: <Left_CommandSub '$('> spids: [138 140] ) (': abort: cancelling job ') ($ VSub_Name '$jobid') ) } ) (C {(mjob)} {(cancel)} {($ VSub_Name '$jobid')}) (C {(exit)} {(1)}) ] spids: [104] ) spids: [100 103] ) (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(date)})]) left_token: <Left_CommandSub '$('> spids: [163 165] ) (': saving /usr/dict/words as /poseidon/stor/words') ) } ) (C {(mput)} {(-f)} {($ VSub_Name '$lfile')} {($ VSub_Name '$rpath')}) (C {(trap)} {(cleanup)} {(SIGINT)}) (While cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:jobid) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(mjob)} {(create)} {(-n)} {(DQ (stress_cancel))} {(-m)} {(SQ <'sleep 1'>)} {(-r)} {(wc)} ) ] ) left_token: <Left_CommandSub '$('> spids: [194 214] ) } spids: [193] ) ] spids: [193] ) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ ($ VSub_Name '$jobid'))}) ) (ControlFlow token:<ControlFlow_Break break>) ] op_id: Op_DPipe ) (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(date)})]) left_token: <Left_CommandSub '$('> spids: [235 237] ) (': created job ') ($ VSub_Name '$jobid') ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:nkeys) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithBinary op_id: Arith_Percent left: (ArithVarRef name:RANDOM) right: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:maxinputs) right: (ArithVarRef name:mininputs) ) ) right: (ArithVarRef name:mininputs) ) spids: [245 264] ) } spids: [244] ) ] spids: [244] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sleeptime) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Percent left: (ArithVarRef name:RANDOM) right: (ArithVarRef name:maxtimeout) ) spids: [268 277] ) } spids: [267] ) ] spids: [267] ) (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(date)})]) left_token: <Left_CommandSub '$('> spids: [283 285] ) (': adding inputs and sleeping for ') ($ VSub_Name '$sleeptime') (' seconds') ) } ) (Sentence child: (Pipeline children: [ (C {(yes)} {(/poseidon/stor/words)}) (C {(head)} {(-) ($ VSub_Name '$nkeys')}) (C {(mjob)} {(addinputs)} {($ VSub_Name '$jobid')}) ] negated: False ) terminator: <Op_Amp '&'> ) (C {(sleep)} {($ VSub_Name '$sleeptime')}) (C {(wait)}) (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(date)})]) left_token: <Left_CommandSub '$('> spids: [326 328] ) (': cancelling job') ) } ) (C {(mjob)} {(cancel)} {($ VSub_Name '$jobid')}) (C {(mjob)} {(watch)} {($ VSub_Name '$jobid')}) (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(date)})]) left_token: <Left_CommandSub '$('> spids: [350 352] ) (': job done') ) } ) (C {(sleep)} {(3)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:njobs) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:njobs) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [363 372] ) } spids: [362] ) ] spids: [362] ) ] spids: [190 374] ) ) ] )