如果从外壳注销,如何保持从外壳启动的命令运行?


12

从外壳注销后,有哪些方法可以使从外壳启动的命令保持运行状态?

Answers:


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

    command &
    
  • 如果你想关闭终端,并保持应用程序运行时,可以使用几种选择:, 和。screen 安装画面dtach 安装dtachnohup

    nohup command &
    
  • 屏幕很有用,因为您可以重新开始会话,并且dtach也很有趣。

  • 查看以下链接以获取更多信息


&在命令末尾添加一个也不起作用吗?
theTuxRacer 2010年

2
@ Kaustubh-P使用&通常是通过'exit'命令关闭终端的好习惯,而不是按X close按钮。&使该命令在后台运行。但是如果父外壳关闭。仍然可以迫使后台程序退出。
karthick87


5

有用的命令(bash?)是disown。它的好处是它可以用于已经运行的作业(顺便说一句,您放弃工作而不是流程,因此您需要ctrl-Z, bg在运行之前放弃工作。)例如,假设您自己执行以下操作:

local % ssh some.where.com
remote % verylongscript.sh

现在您意识到自己需要走了,但又不想退出时被杀死,所以您

ctrl-Z
remote % bg
remote % disown
remote % exit
local %

现在,在上remote,您的脚本仍在运行。


1

我用

nohup mycommand &

例如,要启动VirtualBox虚拟服务器,请在远程外壳程序中键入以下内容(然后关闭该外壳程序):

nohup VBoxHeadless --startvm "myvm" --vrdp=off &
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.