如何退出终端以便我启动的任何进程继续运行?

如何退出终端以便我启动的任何进程继续运行?

firefox &在终端中使用 as 命令。这必须将 Firefox 与终端分离。但当我关闭终端时,Firefox 仍然退出。有什么想法,为什么会发生这种情况?我该如何克服这种情况?

答案1

您可以通过按 Ctrl+D 退出终端;这将打破父子链,使终端不再是父级。

使用 & 符号只会将进程置于后台;它不会分离父进程与子进程之间的关联,因此当父进程退出时,其子进程也会退出。

答案2

如前所述,附加操作&只会将进程置于后台(即,您会得到一个新的提示)并可以输入新的命令。

通过关闭终端来终止父进程,向所有子进程发送结束信号。

根据您使用的 shell,您可以使用 nohup 或 disown 来解耦进程。后者可能是您想要的,因为前者在调用时是必需的。您需要指定以 开头的作业编号%,最有可能是 1。因此,请输入:

disown %1

如果您有多个后台进程,请输入:

jobs

获取列表。

相关内容