Oggi Ubuntu (e la maggior parte delle distribuzioni GNU / Linux) hanno un file Interfaccia utente complessa, che consente all'utente di utilizzare il sistema quasi senza sapere nulla al riguardo, e va bene. Si parte dal presupposto che l'utente non deve avere conoscenze avanzate, ed è per questo che l'uso di Ubuntu e GNU / Linux in generale è sempre più intuitivo.
Ora, non fa mai male sapere come funziona ciò che stiamo usando. Inoltre sappiamo che se usi GNU/Linux è in parte a causa del tuo disaccordo, della tua curiosità e della tua voglia di imparare. Quindi dentro Ubunlog Vogliamo scrivere un articolo un po' più tecnico e mostrarvelo quali sono i processi e come funzionano in Ubuntu. Ti insegneremo a elencare i processi in esecuzione, a trovare un processo specifico e ad ucciderli. Noi iniziamo.
Come tutti sappiamo, Ubuntu (GNU / Linux) è un sistema operativo multitasking. Ciò significa che è in grado di eseguire più processi (attività) contemporaneamente, senza problemi tra di loro.
Ma ... che cos'è un processo?
Un processo non è altro che un'istanza di un programma. In altre parole, un programma non è altro che una serie di processi in esecuzione. Quindi, in modo colloquiale, un processo potrebbe essere inteso come un programma in esecuzione.
I processi, come alcuni di voi già sanno, possono essere eseguiti in due modi; nel primo piano (in primo piano) o in sfondo (in sottofondo).
Inoltre, per i più curiosi, un processo ha anche un file stato, dal momento che non solo può essere in esecuzione. Se ad esempio un processo A avviare un altro processo B, la A diventa noto come il processo sacerdote e B come processo figlio (bambino). Molto spesso, quando ciò si verifica, A rimanere nello stato sospeso.
Possiamo vederlo con un esempio:
Si apriamo il Terminal del nostro Ubuntu, stiamo già lanciando un nuovo processo, poiché il terminale è un altro programma. Cosa succede se dal Terminale lanciamo un altro programma, vedremo che è sospeso. Cioè, se una volta aperto il Terminale, eseguiamo:
gedit f_test
per aprire un nuovo file chiamato f_test (con l'editor di testo Gedit), vedremo che il terminale è sospeso e che "non possiamo più usarlo". Se volessimo continuare a utilizzare lo stesso terminale dopo aver avviato il processo, è sufficiente avviarlo in sfondo (background), cioè è sufficiente che eseguiamo:
gedit f_test &
Il simbolo "&" indica che vogliamo che questo processo venga eseguito in sfondo. In questo modo, una volta avviato il processo, possiamo continuare a utilizzare il Terminale, poiché non sarà stato sospeso ed entrambi i processi continueranno a funzionare normalmente.
Come posso sapere quali processi sono in esecuzione su Ubuntu?
Per vedere l'elenco dei processi in esecuzione, apri semplicemente un Terminale ed esegui:
ps -aux
E vedremo un output come il seguente:
L'unica informazione che ci interessa dalla lista è il file PID. Il PID (Process Identifier) è un numero intero che, come indica il nome, è responsabile dell'identificazione di un singolo processo.
Inoltre, Ubuntu (e tutte le distribuzioni GNU / Linux) hanno un file che determina il valore massimo del PID. Questo ovviamente determina il numero massimo di processi da eseguire. Il file viene chiamato pid_max ed è all'interno della directory / proc / sys / kernel /. Se vuoi vedere rapidamente il suo contenuto, esegui:
cat / proc / sys / kernel / pid_max
E vedrai come, per impostazione predefinita, il numero massimo di processi che possono essere eseguiti è 32768. È importante che tu cammini con attenzione quando ti muovi attraverso queste directory, poiché una brutta modifica potrebbe essere fatale.
D'altra parte, se vogliamo cercare i processi associati a un determinato programma possiamo usare una pipe e il comando grep per filtrare il risultato. Cioè, se ad esempio vogliamo vedere tutti i processi associati a Gimp, possiamo eseguire:
ps-aux | grep gimp
Come puoi vedere, nel mio caso ci sono 3 processi associati a Gimp.
E ... come posso interrompere un processo?
Uccidere un processo significa terminarlo, inviando il segnale corrispondente affinché il processo termini. Per farlo è facile come usare il comando kill. Qui è dove dobbiamo conoscere il PID del processo che vogliamo uccidere. Nell'esempio sopra, diciamo che voglio uccidere il processo Gimp che ha 5649 come PID. Bene, corri:
uccidere 5649
Ora come posso uccidere in una volta sola tutti i processi associati a un programma? Anche molto facile. Se nel mio caso voglio uccidere tutti i processi Gimp, posso usare il comando uccisione. Come segue:
pkill Gimp
Questo ucciderebbe tutti Gimp elabora, cioè, elabora con i PID 5649, 5719 e 5782. Facile, vero? Se un programma si blocca e non sapevi come terminarlo, ora hai una possibile soluzione 😉
Speriamo che questa piccola guida ti abbia aiutato a capire un po 'meglio come funzionano Ubuntu e Linux in generale. Sapere come lavorare e gestire i processi è fondamentale in Linux e allo stesso tempo molto importante. Tuttavia sappiamo che questa guida è stata abbastanza semplice e concisa, quindi se sei curioso e vuoi approfondire un po 'l'argomento, puoi dare un'occhiata al ciclo di vita del processo o al Utilità di pianificazione Linux (pianificatore di processo).
Alla prossima volta 😉
a bene
Sto cercando una guida in pdf che mi spieghi tramite diagrammi come vengono gestiti i processi in Linux Ubuntu. Per mezzo della grafica le cose si vedono meglio.