如何使从 shell 运行的程序在关闭终端后仍然存在?

如何使从 shell 运行的程序在关闭终端后仍然存在?

可能的重复:
如何防止脚本在 shell 退出时终止?

emacs我使用 gnome-terminal,并通过执行在后台终端下运行emacs &,但是在我关闭终端后,emacs也关闭了。我怎样才能避免这种行为?我知道那emacs是shell的一个子进程。

答案1

查看 GNU 屏幕。您可以在屏幕上运行某些内容,然后分离并断开连接,脚本/程序将继续运行。

关联:http://www.gnu.org/software/screen/

大多数发行版中都可以找到屏幕。 Ubuntu 也有一个分叉的“超级”版本。

答案2

您可以开始emacs使用该nohup命令。nohup将运行一个不受挂起影响的命令,并将输出输出到非 tty

nohup emacs &

这将防止emacs进程在 shell 关闭且控制终端被破坏时终止。

您可以nohup从以下位置获取更多信息info coreutils 'nohup invocation'

这是一个不错的讨论关于nohupdisown、 和&

相关内容