为什么有时当我在终端中运行程序时,它不会在终端中运行?

为什么有时当我在终端中运行程序时,它不会在终端中运行?

假设我有两个名为 firefox 和 arduino 的应用程序。起初,我firefox在终端上输入内容,但仍然可以像往常一样使用终端。但是当我输入时arduino,我无法再使用终端,我不得不将其作为后台进程。那么,它们之间有什么区别呢?

答案1

这取决于程序如何启动。可以启动应用程序的模式有多种,其中与此问题相关的几种模式是守护进程模式和前台模式。

我认为当您启动 Firefox 时,应用程序默认作为守护进程启动,在守护进程模式下,应用程序会在后台默默地开始运行,这样用户交互(仅作为示例)就不会妨碍它。

关于守护进程的更多信息这里

另一种类型是前台,当您启动 Arduino 应用程序时,它被编程为默认以前台模式启动(我的猜测)。

前台模式正是您所提到的,它只是停留在终端上,直到您使用 CTRL-C 或其他方法杀死它。当您想知道应用程序实际在做什么时,前台方法非常有用。

相关内容