从终端启动应用程序

从终端启动应用程序

可能的重复:
如何关闭终端而不终止其中运行的命令?

如何从终端启动 GUI 应用程序(例如 gedit)并一步将其从终端分离?

答案1

&运算符使应用程序能够在后台运行。使用

nohup gedit

或者

nohup gedit &

(后者允许您在启动 gedit 后使用终端,只需按回车键即可将其发送到后台)。Nohup完全从终端和会话分派应用程序。

答案2

涉及两个步骤。一种通常称为“背景”,另一种称为“否认”。

  • &您可以通过在命令后附加一个“&”号来启动后台作业。这会将作业发送到后台并允许您的 shell 继续运行。您后台运行的命令仍然作为 shell 的子进程运行。您可以在正在运行的 shell 作业列表中看到它jobs。您可以运行fg(或者fb %N如果您有多个后台作业)将其带到前台并向其发送诸如CtrlC.
  • 您可以通过运行来否认某个作业,disown %N其中 N 是作业编号。如果您只有一项后台工作,那就是disown %1.这会将后台作业“踢出巢穴”,使其不再是 shell 的子进程。然后您可以关闭 shell,并且被拒绝的程序将继续运行。

注意:在 ZSH 中,您可以通过运行来快捷地取消所有权的过程command &!&!一步一步了解背景和否认。

答案3

如果您已经启动了它,您可以按 ctrl-z,输入bg,然后disown。不过,您仍然会从应用程序到终端获得输出。

相关内容