我写了一个脚本,它基本上做了两件事:
- 运行一个 UI 以监听服务器上运行的实际程序
- 远程运行服务器上的程序
一切顺利,UI 启动,然后程序在服务器上运行。但是一旦我关闭用户界面,远程进程就会被终止。
脚本的相关部分:
ui_pid = subprocess.check_output('/home/user/git/sim_ui.sh', shell=True)
command = 'ssh user@server "bash -c \'cd program_dir/ && echo \"running program >> log.out && ./program.sh >> log.out\'"'
print command
os.system(command)
sim_ui.sh:
nohup ui_binary args > ui_out.txt &
我也无法找出是什么杀死了服务器上的进程,即终止进程的信号及其起源。
编辑:
当我在screen -dm
它之前添加时bash -c
,效果很好。