如果您从 bash shell 运行 Nemo,则在结束 Nemo 进程之前,您将无法从该 shell 执行任何其他命令。
这就是我的问题。我希望能够运行其他命令,而不必打开另一个 shell,也不必结束已启动的进程。
答案1
exec Nemo
不会运行Nemo
在 shell 子进程中,即会Nemo
在shell进程中执行,所以将shell替换为Nemo
.
但看起来这不是你想要的。
这里看起来您想要的是在单独的进程中运行的命令,但 shell 不这样做等待以便在发出下一个提示之前完成该过程。
为此,您可以使用:
Nemo &
那是Nemo
异步运行的。当它从交互式 shell 完成时,Nemo
也会置于后台,以便防止从终端读取或在按 Ctrl+C 时被 SIGINT 杀死。
请注意,该命令仍将位于 shell 的作业表中。您可以使用 将其放回前台fg
。 shell 退出时也会尝试杀死它(至少在某些 shell 中)。
对于包括 在内的某些 shell bash
,您还可以使用该disown
命令告诉 shell 忘记它。使用zsh
,您还可以将其启动为:
Nemo &!
在后台启动它并立即否认它。
答案2
你的意思是如何在后台执行命令?
您可以通过使用“&”完成此类命令来完成此操作
例子:
$ nemo &