如果 UI 关闭,通过 ssh 运行的远程进程将被终止

如果 UI 关闭,通过 ssh 运行的远程进程将被终止

我写了一个脚本,它基本上做了两件事:

  • 运行一个 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,效果很好。

相关内容