我正在尋找一個封裝腳本來運行一個程序,該程序通過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