有哪些方法可以使从 shell 启动的命令在从 shell 注销后继续运行?
答案1
答案2
一个有用的(bash?)命令是disown
。它的好处在于它适用于已经运行作业(顺便说一下,您要放弃的是作业,而不是流程,因此您需要ctrl-Z, bg
在对作业运行放弃之前执行此操作。例如,想象一下自己在执行以下操作:
local % ssh some.where.com
remote % verylongscript.sh
现在你意识到你需要离开,但又不想在退出时脚本被终止,所以你
ctrl-Z
remote % bg
remote % disown
remote % exit
local %
现在,在 上remote
,您的脚本仍在运行。
答案3
使用 nohup 命令如下:
nohup gedit /home/user/file.txt &
答案4
我用
nohup mycommand &
例如,为了启动 VirtualBox 虚拟服务器,我在远程 shell 中输入以下内容(然后关闭它):
nohup VBoxHeadless --startvm "myvm" --vrdp=off &