Command-Line

為什麼有時當我在終端中執行程序時,它不會在終端中執行?

  • August 15, 2020

假設我有兩個名為 firefox 和 arduino 的應用程序。起初,我firefox在終端上打字,我仍然可以像往常一樣使用終端。但是當我輸入時arduino,我不能再使用終端了,我不得不把它作為後台程序。那麼,它們之間有什麼區別呢?

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

我認為當您啟動 Firefox 時,預設情況下應用程序作為守護程序啟動,在守護程序模式下,應用程序會在後台悄悄地開始執行,因此沒有使用者互動(僅作為範例)可以阻礙它。

更多關於守護程序在這裡

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

前台模式與您提到的完全一樣,它只是停留在終端上,直到您使用 CTRL-C 或其他一些方法將其殺死。當您想知道應用程序實際在做什麼時,前台方法很有用。

引用自:https://unix.stackexchange.com/questions/604607