clean up logic for backgrounded processes

This commit is contained in:
cody burkard
2014-08-27 11:07:22 -07:00
parent c11d577349
commit ce1673803f
+6 -10
View File
@@ -239,16 +239,12 @@ class Node( object ):
# Replace empty commands with something harmless
cmd = 'echo -n'
self.lastCmd = cmd
if printPid and not isShellBuiltin( cmd ):
if len( cmd ) > 0 and cmd[ -1 ] == '&':
# print ^A{pid}\n so monitor() can set lastPid
cmd += ' printf "\\001%d\\012" $! '
else:
cmd = 'mnexec -p ' + cmd
# if a builtin command is backgrounded, it yields a PID
elif isShellBuiltin( cmd ):
if len( cmd ) > 0 and cmd[ -1 ] == '&':
cmd += ' printf "\\001%d\\012" $! '
# if a builtin command is backgrounded, it still yields a PID
if len( cmd ) > 0 and cmd[ -1 ] == '&':
# print ^A{pid}\n so monitor() can set lastPid
cmd += ' printf "\\001%d\\012" $! '
elif printPid and not isShellBuiltin( cmd ):
cmd = 'mnexec -p ' + cmd
self.write( cmd + '\n' )
self.lastPid = None
self.waiting = True