我正在使用终端打开 Firefox
firefox
但是我无法在此命令后输入任何其他命令,因为输入该命令后我无法重新获得对终端的控制权。
对我来说,唯一的办法就是按CTRL+ Z,但这样 Firefox 就会冻结。
我正在使用 Lubuntu,对它并不是很陌生,但是使用它的次数不如使用 Windows 那么多。
答案1
显而易见的方法是在&
命令末尾添加一个符号来在后台启动此类应用程序,如下所示:
firefox &
请注意,Firefox 现在是 shell 和终端窗口的子进程。如果退出它们,Firefox 将被终止(如果它仍在运行)。为避免这种情况并确保它在关闭终端后继续运行,您必须disown
:
firefox & disown
如果您已经firefox
在前台启动了(或任何其他应用程序),您仍然可以将其发送到后台。聚焦终端并按Ctrl+ Z。这将冻结前台应用程序并让您返回到 shell。您现在可以立即运行命令bg
将刚刚冻结的进程发送到后台并让其继续运行。
答案2
您可以输入
firefox &
告诉 Firefox 在后台运行,然后您可以继续使用您的终端会话......
编辑:而且@ByteCommander 对此的解释比我更为透彻。
但有时 Firefox(或已被告知在后台运行的其他进程)会将一些警告等打印到终端,即使该进程正在后台运行且已被disown
删除。如果您不想这样,可以通过重定向 stdout 和 stderr 来让它安静下来
firefox >/dev/null 2>&1 &
如果disown
您愿意的话。这将为您提供子进程的 PID,并将其输出直接发送到数据 Nirvana(@Videonauth 的短语),这样您就可以放心地继续工作,而不会被打断。请注意,您必须在启动进程时执行此操作;它不能稍后添加。