Perché a volte quando eseguo un programma nel terminale, non verrà eseguito nel terminale?

Aug 15 2020

Supponiamo che io abbia due applicazioni chiamate firefox e arduino. All'inizio ho digitato firefoxsul terminale e posso ancora usare il terminale come al solito. Ma quando ho digitato arduino, non potevo più usare il terminale e ho dovuto metterlo come processo in background. Quindi, qual è la differenza tra loro?

Risposte

1 VigneshSP Aug 15 2020 at 15:00

Dipende da come viene avviato il programma. Esistono varie modalità in cui è possibile avviare un'applicazione, un paio delle quali rilevanti per questa domanda sono la modalità Daemon e la modalità Foreground.

Penso che quando avvii Firefox, l'applicazione per impostazione predefinita viene avviata come demone, in modalità demone l'applicazione si avvia silenziosamente in esecuzione in background in modo che nessuna interazione dell'utente (solo per un esempio) possa ostacolarla.

Maggiori informazioni su Daemon qui .

Un altro tipo è Foreground, quando avvii la tua applicazione Arduino, è programmata per avviarsi in modalità Foreground come impostazione predefinita (suppongo).

La modalità in primo piano fa esattamente quello che hai menzionato, rimane sul terminale finché non lo uccidi con CTRL-C o con altri metodi. Il metodo in primo piano è utile quando si desidera sapere cosa sta effettivamente facendo l'applicazione.