我正在寻找一个封装脚本来运行一个程序,该程序通过SSH命令远程调用,该程序在不等待程序结果的情况下终止。Python封装脚本让程序远程执行,无阻塞
这里是我的代码:
#!/usr/bin/python
import sys
import os, subprocess
def main():
print "PID_last_child", os.getpid()
argpass = ['main_p.py']
for a in sys.argv:
if a.find("wrapper.py") == -1:
argpass.append(a)
pid = subprocess.Popen(argpass).pid
print "PID for the actual process: ", pid
if __name__ == "__main__":
print "PID_MAIN:", os.getpid()
try:
pid = os.fork()
print "FORK1: ", pid
if pid > 0:
sys.exit(0)
except OSError, e:
print >>sys.stderr, "fork failed: %d (%s)" % (e.errno, e.strerror)
sys.exit(1)
os.chdir('/')
os.setsid()
os.umask(0)
try:
pid = os.fork()
print "FORK2: ", pid
if pid > 0:
sys.exit(0)
except OSError, e:
print >>sys.stderr, "fork failed: %d (%s)" % (e.errno, e.strerror)
sys.exit(1)
main()
我想用双分叉,我应该能够做到这一点......但至今没有运气。
对此的任何想法,不胜感激。
你不能在shell脚本中使用'&'吗? – Neil 2012-07-24 23:55:15
您的缩进不正确。你能再检查一次吗? – 2012-07-24 23:56:41
不是真的......我宁愿用一个包装脚本来处理它...... – Amir 2012-07-24 23:56:42