Una delle peculiarità di Linux è quello di poter gestire più task in modo concorrente e, sullo stesso terminale poter eseguire più programmi in parallelo.
Consideriamo per ipotesi che abbiamo lanciato l'editor nano e stiamo scrivendo un qualcosa (del codice ad esempio), e per qualche ragione dobbiamo tornare al prompt dei comandi (in linux detto shell)
Passare da un task all'altro - 1 |
Premento i tasti CTRL+z compare la shell
Passare da un task all'altro -2 |
Poniamo l'ipotesi che dobbiamo vedere se abbiamo nella nostra cartella un file, mediante il comando ls:
Passare da un task all'altro -3 |
Se adesso volessimo ritornare al nostro programma di editor, che facciamo?
Con il comando ps vediamo i task attivi (pid, utile per uccidere, con il comando kill -9 [pid], un programma se si ferma e nella colonna cmd il job id che visualizza il nome del programma attivo nella sessione utente).
Con il comando fg [cmd] passiamo di nuovo al programma interrotto, nel caso nostro;
fg nano
Passare da un task all'altro -4 |
Ma nel caso avessimo due (o più) editor nano attivi, come facciamo?
Con fg torniamo al task precedente
Passare da un task all'altro -5 |
Passare da un task all'altro -6 |
Salviamo se necessario ed usciamo dal task, poi rivediamo i task attivi nella sessione utente mediante ps
Passare da un task all'altro -7 |
dopodiché usiamo il comando fg nano e torniamo al nostro primo editor
Passare da un task all'altro -8 |
Il principio usato è quello della pila, quindi basterebbe fare anche solo fg e torneremmo al nostro sistema in modo automatico.
Commenti