vagrant ssh -c并在连接关闭后保持后台进程运行

pre*_*ice 4 linux vagrant

我正在编写一个脚本来启动并在一个流浪汉机器中处理一个进程.似乎每次脚本结束并且ssh会话结束时,后台进程也会结束.

这是我正在运行的命令:

vagrant ssh -c "cd /vagrant/src; nohup python hello.py > hello.out > 2>&1 &"

hello.py实际上只是一个烧瓶开发服务器.如果我以交互方式登录ssh并nohup手动运行该命令,则在关闭会话后,服务器将继续运行.但是,如果我要通过vagrant ssh -c它运行,那就好像命令从未运行过(即没有创建hello.out文件).手动运行和通过vagrant ssh -c之间有什么区别,以及如何修复它以使其工作?

小智 12

尝试将Django应用程序作为守护程序运行时,我遇到了同样的问题.我不知道为什么,但为我添加一个"睡眠1"的作品.

vagrant ssh -c "nohup python manage.py runserver & sleep 1"
Run Code Online (Sandbox Code Playgroud)