通过终端打开 Firefox 后重新获得控制权

Yas*_*jaj 6 command-line firefox keyboard lubuntu

我正在通过终端打开 Firefox 使用

firefox
Run Code Online (Sandbox Code Playgroud)

但是在此之后我无法键入任何其他命令,因为在键入该命令后我无法重新获得对终端的控制权。

这样做的唯一方法(对我而言)是按CTRL+Z但随后 Firefox 会冻结。

我正在使用 Lubuntu,对它并不陌生,但没有像 Windows 那样使用它。

Byt*_*der 20

显而易见的方法是通过&在命令末尾添加一个符号来在后台启动此类应用程序,如下所示:

firefox &
Run Code Online (Sandbox Code Playgroud)

请注意,Firefox 现在是您的 shell 和终端窗口的子进程。如果你退出它们,Firefox 会在它仍在运行时被杀死。为了避免这种情况并确保它在关闭终端后继续运行,您必须disown

firefox & disown
Run Code Online (Sandbox Code Playgroud)

如果您已经firefox在前台启动(或任何其他应用程序),您仍然可以将其发送到后台。聚焦终端并点击Ctrl+ Z。这会冻结前台应用程序并使您返回到 shell。您现在可以立即运行命令bg将刚刚冻结的进程发送到后台并让它继续运行。


Zan*_*nna 6

你可以输入

firefox &
Run Code Online (Sandbox Code Playgroud)

告诉firefox在后台运行,然后你可以继续使用你的终端会话......

编辑:@ByteCommander 比我更彻底地解释了这一点。

但有时 Firefox(或另一个被告知在后台运行的进程)会向终端打印一些警告等信息,即使该进程在后台运行并已被disown编辑。如果您不想这样做,您可以通过重定向 stdout 和 stderr 来告诉它安静

firefox >/dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud)

disown如果你喜欢。这将为您提供子进程的 PID,并将它的任何输出直接发送到数据 Nirvana(@Videonauth 的短语),因此您可以放心地继续工作,不会被打扰。请注意,您必须在启动进程时执行此操作;以后无法添加。