我刚刚在python中创建了一个软件,它应该从shell中调度几个命令。 (PS:我的工作在Linux上) 顺便说一句,我创建了下面的函数来启动进程:用python通过子进程库执行进程
def exec_command(cmd):
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True, preexec_fn=os.setsid)
pid = process.pid
print '----------launched process with PID: ', pid
return pid
在此之后我使用PID检查过程中继续僵尸的状态,并在那种情况下杀了它。 有时候一切正常,但有一种情况是启动的程序无法执行任何操作。 我在说的过程是:sh /home/ubuntu/programs/data-integration/kitchen.sh -file=/home/ubuntu/TrasformazioneAVM/JobAVM.kjb -level=Basic -param:processName=avm
如果我通过shell启动它的一切工作完美,但如果我用我的功能做到这一点,我可以看到系统监视器上的进程(或由“顶部”命令的shell)但没有任何显示(我检查内存使用情况和CPU使用情况,通常非常高,但在这种情况下不会)。 任何机构有任何想法?
请问您可以写出print cmd的输出 – duck
您是什么意思whit“print CMD”? – giogix
我的意思是你给CMD作为一个列表或一个字符串 – duck