I processi in Linux giocano un ruolo fondamentale in tutte le azioni da eseguire poiché consentono di eseguire correttamente quali servizi, applicazioni e ruoli. Quando un processo mostra un qualche tipo di errore, è probabile che questo influisca su molte altre attività, determinando un impatto negativo in molte altre aree. A volte può capitare che troviamo processi che si fermano improvvisamente e che dobbiamo trovare per poterlo portare a termine. Pertanto, è utile sapere come vedere i processi in esecuzione e quindi scegliere quali vogliamo uccidere per evitare ulteriori errori.
Come amministratori di sistemi Linux dovremo avvalerci degli strumenti integrati per gestire i processi e attraverso il terminale sarà possibile mostrare un processo in esecuzione, modificare il livello di priorità, eliminare processi e più azioni su di essi.
Normalmente, quando vogliamo vedere i processi in esecuzione in Linux, utilizziamo il comando "top" che genera un elenco completo dei processi con dettagli come:
- PID del processo.
- Utente che ha il processo.
- Utilizzo di CPU, memoria e altro.
INGRANDIRE
Solvetic spiegherà altri metodi in quanto possiamo convalidare e gestire i processi in Linux.
1. Gestire i processi utilizzando PS in Ubuntu
Il comando ps (stato del processo - stato del processo) è uno dei più comuni poiché questo comando elenca i processi in esecuzione in tempo reale.
Passo 1
L'esecuzione di base di ps è la seguente:
ps -aux
INGRANDIRE
Passo 2
Di conseguenza otteniamo i seguenti valori:
- Utente con il processo.
- PID del processo.
- Utilizzo di CPU e RAM.
- TTY.
- Ora di inizio del processo.
- Tempo attivo e altro.
Passaggio 3
Un'altra opzione per usare ps è la seguente:
sudo ps -a
INGRANDIRE
Passaggio 4
Potremmo vedere i processi di un particolare utente:
sudo ps -U Solvetic
INGRANDIRE
Passaggio 5
Nel caso in cui il sistema abbia troppi processi, è possibile utilizzare i comandi less and more come pipe per visualizzare il processo su una schermata alla volta.
ps -aux | altro sudo ps -aux | loroPassaggio 6
È anche possibile cercare un particolare processo utilizzando la seguente sintassi:
ps aux | grep "processo"
INGRANDIRE
Passaggio 7
Alcuni dei parametri da utilizzare con il comando ps sono:
-AMostra tutti i processi (di tutti gli utenti nel sistema).
-aMostra tutti i processi di un dato [tty].
-DMostra tutto tranne i leader di sessione.
-eMostra tutti i processi.
TMostra tutti i processi del terminale corrente.
aMostra tutti i processi del terminale corrente compresi quelli di altri utenti.
GMostra tutti i processi inclusi i gruppi di lead.
RMostra solo i processi correnti.
XVisualizza i processi in stile BSD (senza gestione [TTY]).
2. Usa il comando PGREP in Ubuntu
Passo 1
Il comando pgrep è un'utilità che prende un'espressione regolare dalla riga di comando ed è responsabile della restituzione dell'ID dei processi il cui nome corrisponde all'espressione regolare indicata, la sua sintassi di utilizzo è:
processo pgrepPasso 2
Quando eseguito, il risultato sarà il PID dei processi associati alla ricerca:
INGRANDIRE
Passaggio 3
Se vogliamo elencare sia il PID che il nome del processo, aggiungiamo il parametro -l:
sudo pgrep -l processo
INGRANDIRE
3. Utilizzo del comando top e htop in Ubuntu
Come abbiamo accennato, sono i comandi più utilizzati per l'intero argomento della gestione dei processi in Linux, poiché sia top che htop elencano i processi in tempo reale con una serie di attributi di analisi.
Passo 1
La sintassi di base di top è eseguire:
SuperiorePasso 2
Di conseguenza otterremo tutti i processi con i loro attributi:
INGRANDIRE
Passaggio 3
Qualcosa di importante in questo comando principale sono le informazioni vitali per gli amministratori come:
- Quantità utenti.
- Numero di attività in tempo reale.
- Quanti processi sono in ibernazione o arrestati.
- Memoria e utilizzo del disco, ecc.
Passaggio 4
Quando si utilizza il comando top, vedremo le informazioni di riepilogo del sistema, nonché un elenco delle attività attualmente gestite dal kernel Linux, qualcosa da tenere a mente è che tutte le informazioni di riepilogo del sistema possono essere configurate dall'utente. Alcuni dei parametri da utilizzare con top sono:
-aOrdina per utilizzo della memoria.
-BModalità batch.
Criga di comando/nome del programma.
-Dintervallo di tempo di ritardo con valori come -d ss.tt.
-HDiscussioni.
-haiuto dall'alto.
-ioProcessi inattivi.
-MRileva le unità di memoria.
-mVIRT / USATO.
-nNumero di iterazioni.
-SModalità sicura.
-oAnalisi per utente. Ad esempio:
top -u risolutivo
INGRANDIRE
Passaggio 5
Ora il comando htop è un visualizzatore di processi gratuito (GPL) basato su ncurses per sistemi Linux. Il suo funzionamento è identico a top nella parte superiore, ma la differenza è che sarà possibile spostarsi verticalmente e orizzontalmente in modo da visualizzare tutte le lavorazioni che vengono eseguite nel sistema. Vengono visualizzate le righe di comando associate. Per usarlo, basta eseguire htop:
INGRANDIRE
Passaggio 6
Lì vediamo i processi in modo interattivo e alcuni dei parametri che possiamo usare sono:
-d -ritardoRitardo tra gli aggiornamenti, in decimi di secondo.
-d -ritardo
-C --no-color --no-colorAvvia htop in modalità monocromatica.
-C --no-color --no-color
-h -aiutoAccedi alla guida di htop.
-h -aiuto
-u --user = NOMEUTENTEVisualizza solo i processi di un utente specifico.
-u --user = NOMEUTENTE
-p PagQuesta opzione funziona con i thread per le statistiche sulla memoria della mappa di pagina.
-p Pag
-s --sort-keyOrdina i dati per la colonna indicata.
-s --chiave di ordinamento
-v -versioneVisualizza la guida di htop.
-v -versione
INGRANDIRE
Passaggio 7
Oltre a questo, possiamo usare i tasti funzione in questo modo:
F1Aiuto.
F1
F2Ambientazione.
F2
F3Ricerca.
F3
F4Filtri.
F4
F5Visualizzazione ad albero.
F5
F6Ordina per.
F6
F7 / F8Aumenta la priorità del processo.
F7 / F8
F9Uccidi un processo.
F9
F10Esci da htop.
F10
Passaggio 8
Ad esempio, se usiamo F2 accediamo a tutte le variabili di configurazione:
INGRANDIRE
4. Gestisci i processi con KILL in Ubuntu
Passo 1
Il comando kill è stato sostanzialmente sviluppato per uccidere un processo in conflitto, la sua sintassi è:
kill pid kill -segnale pidPasso 2
Ad esempio:
Uccidi 4220
INGRANDIRE
Passaggio 3
Il comando kill invia un segnale a un processo, nel caso in cui non si definisca quale segnale inviare, per impostazione predefinita viene inviato il segnale TERM che termina il processo. Alcuni dei parametri da utilizzare sono:
Mostra nomeÈ il nome, il nome abbreviato o il numero del segnale da inviare, preceduto da un trattino.
-s segnale
Elenco nomiVisualizza l'elenco dei nomi dei segnali disponibili.
-l, --list [= token]
Informazioni sul segnaleElenca i nomi e i numeri dei segnali disponibili in una tabella.
-L, --tabella
Passaggio 4
I segni, insieme al loro numero sono:
- 1 HUP
- 2 INT
- 3 ESCI
- 4 ILL
- 5 TRAPPOLA
- 6 APRILE
- 7 AUTOBUS
- 8 FPE
- 9 UCCIDI
- 10 USR1
- 11 SEGV
- 12 USR2
- 13 TUBO
- 14 ALLARME
- 15 TERMINE
- 16 STKFLT
- 17 BAMBINI
- 18 SEGUE
- 19 FERMATA
- 20 TSTP
- 21 TTIN
- 22 TTOU
- 23 URG
- 24 XCPU
- 25 XFSZ
- 26 VTALRM
- 27 PROF
- 28 VERRICELLO
- 29 POLLI
- 30 PWR
- 31 SISTEMA
Passaggio 5
Ad esempio, per terminare un processo possiamo eseguire:
uccidere -15 4220
5. Usa il comando PKILL in Ubuntu
Il comando pkill trova o segnala i processi in base al nome e ad altri attributi.
Passo 1
La sua sintassi generale è:
pkill [-segnale] [-fvx] [-n | -o] [-P ppid,…] [-g pgrp,…] [-s sid,…] [-u euid,…] [-U uid,… ] [-G gid,…]Passo 2
Il comando pkill è responsabile dell'invio del segnale specificato, che è SIGTERM per impostazione predefinita, a ciascun processo invece di elencarli sullo standard output. La sua esecuzione di base è:
pkill "processo"
INGRANDIRE
Passaggio 3
Alcuni dei parametri da utilizzare sono:
Delimita l'IDdefinisce la stringa utilizzata per delimitare ogni ID di processo nell'output.
-d delimitatore
Confronta modellofa in modo che il modello venga confrontato solo con il nome del processo.
-F
Processi di corrispondenzacorrisponde ai processi negli ID del gruppo di processi enumerati.
-g pgrp
Processi di identificazione realeSolo i processi il cui ID gruppo effettivo è nell'elenco corrispondono.
-G gid
Processo di elencoElenca il nome del processo e l'ID del processo.
-l
Processo interrottovisualizza quale processo è stato interrotto.
-Ho fatto
Conta processi ugualiconta i processi di corrispondenza.
-c conta
Usa il nome completoutilizza il nome completo del processo per le corrispondenze.
-f pieno
Nuovi processiselezionare i processi più recenti.
-n più recente
Processi antichiselezionare i processi più vecchi.
o il più vecchio
ID coppiaAbbina gli ID di sessione.
-s sessione
Scegli l'ordineSeleziona con il nome di ordinamento indicato e altro.
-x esatto
6. Usa i comandi NICE e RENICE in Ubuntu
Lo scopo principale del comando nice è eseguire un processo o un comando con una priorità inferiore o superiore a quella predefinita, mentre con il comando renice è possibile modificare il valore originale di nice.
Passo 1
I valori possono variare da -20 a 19, dove 19 è la priorità più bassa. La sintassi da utilizzare è:
renice {Priorità} -p {PID}Passo 2
Ad esempio, identificheremo i processi con pgrep e poi assegneremo la priorità con renice. Come possiamo vedere, la nuova priorità è stata stabilita per il processo selezionato.
pgrep VBoxClient sudo renice 934 12
INGRANDIRE
Come possiamo vedere, le opzioni per gestire, amministrare e controllare i processi in Ubuntu saranno un compito relativamente semplice grazie a ciascuno dei comandi descritti e ognuno di essi mostrerà informazioni preziose per ogni attività di supporto a livello amministrativo.