如何在终端中打开应用程序并将其分离?

如何在终端中打开应用程序并将其分离?

我在终端中打开 Cairo-dock:,open cairo-dock这样可以正常工作,但如果我关闭终端,它也会随之关闭。无论终端如何,我如何才能让它保持打开状态?

答案1

nohup是一个 POSIX 命令,用于忽略 HUP(挂断)信号。HUP(挂断)信号是终端根据注销进程发出的警告方式。如果尚未重定向,则通常会发送到终端的输出将发送到名为 nohup.out 的文件。nohup 是一个低级实用程序,它只是配置一个命令来忽略信号。如下所示,nohup 远非一个功能齐全的批处理系统,无法解决异步运行程序的所有问题。

参见手册:

man nohup

例子:

nohup cairo-dock &

答案2

还有另一种方法:disown

在 bash shell 中,disown 内置命令用于从作业表中删除作业,或者标记作业,以便当父 shell 收到 SIGHUP 信号时(例如,如果用户注销),不会向它们发送 SIGHUP 信号。

例如:

cairo-dock & disown

答案3

我个人使用屏幕来处理这种事情。

screen -d -m -S cairo_session open cairo-dock

这样做的好处是,如果您想终止 cairo-dock,您可以重新连接到屏幕会话并终止它。

screen -S cairo_session -X quit

屏幕还有其他用途。它是一个终端多路复用器。

相关内容