為什麼有時當我在終端機中運行程式時,它不會在終端機中運行?

為什麼有時當我在終端機中運行程式時,它不會在終端機中運行?

假設我有兩個名為 firefox 和 arduino 的應用程式。起初,我firefox在終端機上輸入內容,但仍然可以像往常一樣使用終端。但是當我輸入時arduino,我無法再使用終端,我不得不將其作為後台進程。那麼,它們之間有什麼區別呢?

答案1

這取決於程式如何啟動。可以啟動應用程式的模式有多種,其中與此問題相關的幾種模式是守護程式模式和前台模式。

我認為當您啟動 Firefox 時,應用程式預設會作為守護程式啟動,在守護程式模式下,應用程式會在後台默默地開始運行,這樣使用者互動(僅作為範例)就不會妨礙它。

關於守護進程的更多信息這裡

另一種類型是前台,當您啟動 Arduino 應用程式時,它被編程為預設以前台模式啟動(我的猜測)。

前台模式正是您所提到的,它只是停留在終端上,直到您使用 CTRL-C 或其他方法殺死它。當您想知道應用程式實際在做什麼時,前台方法非常有用。

相關內容