我正在编写一个脚本来启动并在一个流浪汉机器中处理一个进程.似乎每次脚本结束并且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)