Come eseguire programmi da un terminale Linux senza bloccare il terminale?


34

Quando avvio un programma da un terminale non riesco più a usare quell'istanza del terminale fino a quando non chiudo il programma.

C'è un modo per eseguire un programma / un'applicazione da un terminale senza bloccarlo fino al termine del programma?

Risposte:


62

Stai cercando un controllo del lavoro supportato dalla maggior parte delle shell. Vedi questo articolo per un'introduzione. Ad un certo punto potresti anche voler leggere la documentazione ufficiale di bash che è la shell predefinita in Ubuntu.

In breve: per avviare automaticamente un processo in background, inserire una &dopo la chiamata di programma

$ program &

Puoi anche interrompere i programmi con CTRLze poi metterli in secondo piano conbg

$ program
^Z
$ bg

Per farli funzionare di nuovo in primo piano, utilizzare fg.


Scoprire che esiste una documentazione ufficiale per bash è stato di grande aiuto secondario da questa risposta, grazie!
Addem

1

Se il controllo del lavoro non è esattamente quello che vuoi, guarda nello schermo .

Lo schermo controlla più terminali virtuali in modo da poter eseguire più programmi senza che interagiscano tra loro. Ad esempio, è possibile eseguire contemporaneamente mocp (un lettore musicale), aptitude (un gestore di pacchetti) e vim (un editor di testo), anche se tutti sono programmi interattivi che trattano il terminale come se avessero accesso esclusivo.

Ciò semplifica il passaggio da un'attività all'altra, come la creazione di un nuovo terminale all'interno dello schermo per leggere una manpage - senza perdere il posto altrove - girando avanti e indietro, ecc.


1

In Ubuntu 16.10 non riesco a far funzionare la cosa ctrl + Z menzionata in un'altra risposta, ma

program &
^C

Funziona per me, in altre parole, ctrl + cdopo aver avviato il programma con una e commerciale finale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.