让程序在终端中运行

所以我很清楚nohup和后缀命令用&确保它们进入后台。

但是,如果我运行一个图形应用程序 – 有时使用似乎也没有。 那么我可以为程序/命令添加前缀以确保它在终端关闭后继续运行?

如果您希望在关闭终端窗口时应用程序继续运行,您应该:

 nohup chromium-browser & 

你需要nohup&

  • nohup意味着在shell关闭后保持此进程/命令运行。
  • &表示将此进程/命令放在后台,因此它不会阻止shell(因此您可以将其用于其他内容)。

当通过&运算符在后台运行程序时,它仍然附加到您的会话中,可以使用fg,bg,jobs和disown进行控制。

我也遇到过nohup的一些问题,但是可能是你要找的东西。

当您在后台运行程序时,它有一个作业ID:

 gedit & [1] 5647 

括号[]中的数字是有趣的。 要从会话中分离它,请使用该数字运行disown %n 。 对于上面的例子:

 disown %1 

现在您可以安全地退出终端,并且不会终止该过程。

对于图形应用程序,只需执行此类操作即可(至少对我而言)

chromium-browser&

对于终端应用程序,您应该使用screentmux东西。

关闭终端,从中启动图形程序

 exit