我firefox &
在终端中使用 as 命令。这必须将 Firefox 与终端分离。但当我关闭终端时,Firefox 仍然退出。有什么想法,为什么会发生这种情况?我该如何克服这种情况?
答案1
您可以通过按 Ctrl+D 退出终端;这将打破父子链,使终端不再是父级。
使用 & 符号只会将进程置于后台;它不会分离父进程与子进程之间的关联,因此当父进程退出时,其子进程也会退出。
答案2
如前所述,附加操作&
只会将进程置于后台(即,您会得到一个新的提示)并可以输入新的命令。
通过关闭终端来终止父进程,向所有子进程发送结束信号。
根据您使用的 shell,您可以使用 nohup 或 disown 来解耦进程。后者可能是您想要的,因为前者在调用时是必需的。您需要指定以 开头的作业编号%
,最有可能是 1。因此,请输入:
disown %1
如果您有多个后台进程,请输入:
jobs
获取列表。