如果我从shell注销,如何保持从shell运行的命令?

从shell注销后,有哪些方法可以保持从shell启动的命令?

  • 要将应用程序置于后台,请使用&

     command & 
  • 如果要关闭终端并保持应用程序运行,可以使用以下几个选项: screen 安装屏幕dtach 安装dtachnohup

     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 &