GNU/Linux >> Linux Esercitazione >  >> Linux

Nozioni di base sui comandi di Linux:7 comandi per la gestione dei processi

Supponiamo che ti ritrovi a esplorare la riga di comando di Linux per la prima volta o ad entrare nell'amministrazione di Linux. In tal caso, è essenziale una comprensione di basso livello di come spostarsi nel terminal e completare le attività di base. Per aiutarti a cogliere questi concetti, dai un'occhiata ai miei due articoli precedenti:

  • 10 comandi per iniziare al terminale
  • Altri 10 comandi per manipolare i file

Tuttavia, se ti senti a tuo agio con questi concetti, in questo articolo aumenteremo ulteriormente la tua conoscenza di Linux. Esamineremo i processi e come gestirli.

Quindi, cos'è esattamente un processo ?

In Linux, un processo è qualsiasi istanza attiva (in esecuzione) di un programma. Ma cos'è un programma ? Bene, tecnicamente, un programma è qualsiasi file eseguibile contenuto nella memoria della tua macchina. Ogni volta che esegui un programma, hai creato un processo. A livello di base, è abbastanza facile da gestire ed è quello a cui daremo un'occhiata oggi.

Di cosa hai bisogno per iniziare

Ti consiglio di seguire la tua macchina virtuale preferita. In questo modo, puoi provare a fallire senza conseguenze (che è sicuramente il modo migliore per metterti a tuo agio al terminale).

Per questa demo, avvierò il processo di sospensione per 500 secondi. Questo approccio ti consente di vedere il processo senza che io apporti modifiche significative al mio sistema.

[tcarrigan@client ~]$ dormire 500^Z[1]+  Arrestato                 dormire 500 

Ho quindi interrotto il processo con Ctrl+Z in modo da poter utilizzare il nostro terminale.

1. Elenca i processi

Per visualizzare i processi attualmente attivi, utilizza il ps comando:

[tcarrigan@client ~]$ ps    PID TTY          TIME CMD   2648 pts/0    00:00:00 bash   3293 pts/0    00:00:00 sleep   3300 pts/0    00:00:00 ps 

Qui ottieni alcune informazioni sui processi attivi sul tuo sistema. Dovrai prestare attenzione al PID (ID processo univoco), il TIME (quanto tempo di esecuzione del processo) e il CMD (il comando eseguito per avviare il processo).

2. Elenco dettagliato (processi)

Per visualizzare un elenco incredibilmente dettagliato dei processi, puoi utilizzare ps aux comando.

  • a - tutti gli utenti
  • u - mostra l'utente/proprietario
  • x - mostra i processi non eseguiti nel terminale (rendendo l'output piuttosto lungo)

Puoi vedere il comando qui (output modificato per la lunghezza):

; I    13:45   0:00 [kworker/1:1-mm_percpu_wq]root        3381  0.0  0.0      0     0 ? I    13:45   0:00 [kworker/1:3]root        3398  0.0  0.0      0     0 ? I    13:46   0:00 [kworker/3:2-ata_sff]root        3481  0.0  0.0      0     0 ? I    13:50   0:00 [kworker/u8:2-flush-253:0]root        3482  0.0  0.0      0     0 ? I    13:50   0:00 [kworker/0:1-events]root        3483  0.0  0.0      0     0 ? I    13:50   0:00 [kworker/0:2]root        3508  0.0  0.0      0     0 ? I    13:51   0:00 [kworker/3:0-ata_sff]root        3511  0.0  0.0  18892  7732 ? S    13:52   0:00 systemd-userworkroot        3512  0.0  0.0  18892  7656 ? S    13:52   0:00 systemd-userworkroot        3513  0.0  0.0  18892  7656 ? S    13:52   0:00 systemd-userworkroot        3566  0.4  0.0 432792  8024 ? Ssl  13:54   0:00 /usr/libexec/fprintdtcarrig+    3598  0.0  0.0 228208  3948 pts/0    R+   13:54   0:00 ps aux

3. Uccidi per PID

Inevitabilmente, un processo si bloccherà e dovrai uccidere esso. Più tempo trascorri nella CLI, più è probabile che tu abbia bisogno del kill comando. Il modo più accurato per identificare un processo è tramite ID processo (PID).

Usa la seguente sintassi:

[tcarrigan@client ~]$ kill PID 

Questo comando invia il SIGTERM segnale. Tuttavia, se hai a che fare con un processo bloccato, aggiungi il -9 opzione.

[tcarrigan@client ~]$ ps    PID TTY          TIME CMD   2648 pts/0    00:00:00 bash   3293 pts/0    00:00:00 sleep   4684 pts/0    00:00:00 sleep  40527 pts /0    00:00:00 sleep  40540 pts/0    00:00:00 ps[tcarrigan@client ~]$ sudo kill -9 3293[sudo] password for tcarrigan: [1]   Killed                  sleep 500 

4. Uccidi per nome/parola chiave

Usa il killall comando per terminare un processo per nome. Questo comando interromperà tutti i processi con la parola chiave/nome che hai specificato.

La sintassi è:

[tcarrigan@client ~]$ killall sleep 

Questo ucciderebbe tutto il sonno processi attivi sul sistema (il -9 l'opzione funziona anche qui). Ecco un esempio:

[tcarrigan@client ~]$ ps    PID TTY          TIME CMD   2648 pts/0    00:00:00 bash   4684 pts/0    00:00:00 sleep  40527 pts/0    00:00:00 sleep  40540 pts /0    00:00:00 ps[tcarrigan@client ~]$ killall -9 sleep [2]-   Killed                  sleep 500[3]+   Killall                  sleep 500 

I prossimi due comandi vanno di pari passo. Ti permettono di spostare/gestire i comandi in background. Darò uno sguardo di base alla sintassi di seguito; tuttavia, per uno sguardo approfondito a questi comandi, vedere il mio precedente articolo sull'argomento.

5. Elenca i lavori in background e riprendi i lavori in background

Per elencare e gestire i lavori in background, utilizzeremo il bg comando. Ho iniziato un nuovo sleep 500 processo e quindi interrotto, inviandolo in background. Quindi lo vediamo elencato durante l'esecuzione di bg sotto:

[tcarrigan@client ~]$ bg[1]+ dormi 500 & 

6. Porta in primo piano il lavoro più recente

Per fare ciò, useremo il fg comando. Questo porta in primo piano il lavoro/processo eseguito più di recente. L'esempio seguente è una continuazione del comando precedente. Il 500 posti letto il processo che si trova in background è ora attivo in background. Portiamolo alla luce...

[tcarrigan@client ~]$ fgsleep 500 

Questo comando ci porta al nostro comando finale in questo elenco.

7. Porta in primo piano un lavoro specifico

Usa il fg comando di nuovo, ma seleziona un lavoro specifico da portare in primo piano (anziché il più recente). Per fare ciò, aggiungeremo semplicemente il nome del lavoro/processo al comando.

[tcarrigan@client ~]$ fg XXXample 

Questo porta lavoro XXXample in primo piano.

[ Vuoi testare le tue capacità di amministratore di sistema? Fai una valutazione delle abilità oggi. ] 

Conclusione

In Linux Command Basics di oggi, abbiamo esaminato i processi e come gestirli. Ora puoi completare le attività generali di gestione dei processi, dall'elenco e l'eliminazione allo spostamento tra lo sfondo e il primo piano. Se ci sono altre aree di amministrazione Linux generali per le quali vorresti vedere un elenco dedicato di comandi, invia un'e-mail al team all'indirizzo [email protected] e farò del mio meglio per arricchirlo per te.


Linux
  1. 8 comandi Linux per una gestione efficace dei processi

  2. 30 Esercizi sui processi Linux per amministratori di sistema

  3. Comandi Linux dalla A alla Z

  4. Suggerimenti per la riga di comando di Linux per aumentare la produttività

  5. Comando eco di Linux

Kill Command in Linux

Tutorial sui comandi principali di Linux per principianti (8 esempi)

30 esempi di comandi principali per il monitoraggio in Linux

I 50 comandi IP utili di Linux per gli amministratori di rete

Comandi per la gestione dei processi in Linux

UNIX / Linux:7 esempi pratici di comandi PS per il monitoraggio dei processi