我在终端中打开 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
屏幕还有其他用途。它是一个终端多路复用器。