如果我从shell注销,如何保持从shell运行的命令?
从shell注销后,有哪些方法可以保持从shell启动的命令?
-
要将应用程序置于后台,请使用
&
:command &
-
如果要关闭终端并保持应用程序运行,可以使用以下几个选项:
screen
,dtach
和nohup
。nohup command &
-
屏幕很有用,因为你可以重新开始一个会话,dtach也很有趣。
-
请查看以下链接以获取更多信息
- 屏幕
- Dtach
像这样使用nohup命令:
nohup gedit /home/user/file.txt &
不推荐使用有用的(bash?)命令。 关于它的好处是它适用于已经运行的作业(顺便说一句,你不使用作业,而不是进程,所以你需要在你的工作上运行disown之前做一个ctrl-Z, bg
。例如,想象你自己在做什么下列:
local % ssh some.where.com remote % verylongscript.sh
现在你意识到你需要去,但不希望脚本在退出时被杀死,所以你
ctrl-Z remote % bg remote % disown remote % exit local %
现在,在remote
,您的脚本仍在运行。
我用
nohup mycommand &
例如,为了打开VirtualBox虚拟服务器,我在远程shell中键入以下内容(然后我关闭):
nohup VBoxHeadless --startvm "myvm" --vrdp=off &