Come terminare un processo in Linux

Abbiamo avuto tutti quei giorni in cui il nostro computer funziona in modo eccezionalmente lento e balbetta nell’eseguire anche le attività di base. In Windows, hai solo il Task Manager di Windows per ispezionare e terminare i processi che non sono così importanti ma consumano enormi quantità di memoria. Tuttavia, in Linux, hai un intero arsenale di comandi e strumenti GUI per gestire queste attività. In questo articolo, mostreremo alcuni semplici metodi della riga di comando (CLI) e metodi della GUI su come terminare un processo in Linux.

Termina il processo in Linux (2023)

Ma prima di immergerci nel mondo della gestione dei processi in Linux, cerchiamo di capire cos’è esattamente un processo e cos’è un ID di processo nei sistemi Linux. Sommario

Cosa sono i processi in Linux

Se volete continuare a leggere questo post su "Come terminare un processo in Linux" cliccate sul pulsante "Mostra tutti" e potrete leggere il resto del contenuto gratuitamente. ebstomasborba.pt è un sito specializzato in Tecnologia, Notizie, Giochi e molti altri argomenti che potrebbero interessarvi. Se desiderate leggere altre informazioni simili a Come terminare un processo in Linux, continuate a navigare sul web e iscrivetevi alle notifiche del blog per non perdere le ultime novità.

Seguir leyendo


In Linux, ogni istanza attualmente in esecuzione di un programma è nota come “processo”, mentre ogni file eseguibile è noto come programma. Quando viene eseguito un programma, viene creato un processo e a ciascun processo viene assegnato un numero di identificazione univoco a 5 cifre noto come “ID processo”. Quando un processo ha terminato l’esecuzione o viene terminato forzatamente, il suo ID processo viene assegnato al processo successivo nella riga.

Uccidi il processo tramite la riga di comando in Linux

Sebbene l’utilizzo del terminale a volte possa sembrare intimidatorio rispetto all’utilizzo degli strumenti della GUI per le attività di base, la gestione di vari processi diventa molto più semplice una volta acquisita una comprensione dei comandi e delle loro varie opzioni.

Segnali di terminazione

Quando provi a terminare un processo dalla GUI o dalla CLI in Linux, il kernel invia un segnale di terminazione al processo. Il processo agisce di conseguenza, a seconda del segnale ricevuto. A ciascuno di questi segnali viene assegnato un numero specifico che il programma può comprendere rapidamente. Esistono numerosi tipi di segnali di terminazione, ma qui abbiamo spiegato solo quelli essenziali:

Segnale Valore numerico Descrizione
SIGHUP 1 Sta per ‘Signal Hangup’
Viene inviato quando il terminale è chiuso.
SIGINT 2 Sta per “Interruzione segnale”
Viene inviato quando l’utente termina il processo.
SIGILLO 9 Sta per “Signal Kill”
Viene inviato quando è necessario uscire immediatamente da un processo
SIGTERM 15 Sta per “Terminazione del segnale”
Viene inviato quando è necessario terminare un processo e rilasciare le risorse consumate
SIGSTOP 19 – per BRACCIO, x86
17 – per ALFA
23 – per MIPS
24 – per PA-RISC
Sta per ‘Segnale Stop’
Viene inviato quando è necessario mettere in pausa un processo e riprenderlo successivamente

I segnali più comunemente usati sono il SIGKILL (9) e il SIGTERM (15).

Identificare gli ID processo

Prima di terminare un processo, è necessario conoscere alcuni dettagli del processo come l’ID del processo, il tempo di esecuzione, ecc. Per conoscere i dettagli di un processo, utilizzare il comando ps :

ps

Con il comando ps, devi cercare il processo scorrendo e annotando il suo nome, che potrebbe essere ingombrante. Invece, puoi persino utilizzare il comando grep con il comando ps in una pipeline, come mostrato di seguito:

ps | grep

Per semplificare le cose, c’è un comando separato che mostra solo l’ID del processo di qualsiasi processo in esecuzione che devi conoscere. La sintassi per utilizzare il comando pidof è:

pidof

Termina il processo usando il comando kill

Dopo aver annotato l’ID del processo che si desidera terminare, il comando più comune utilizzato per terminare i programmi sul proprio sistema Linux è il comando kill. La sintassi per utilizzare il comando kill è:

kill

Il parametro è facoltativo e il comando kill invia il segnale SIGTERM (15) per impostazione predefinita. Puoi inviare qualsiasi altro segnale in base al suo valore numerico o al nome effettivo del segnale dalla tabella sopra.

Terminare il processo utilizzando il comando pkill

Se ritieni che la ricerca dell’id del processo sia scomoda, puoi utilizzare il comando pkill. Cerca i processi che corrispondono a un modello e poi lo uccide. La sintassi per utilizzare il comando pkill è:

pkill

Alcune delle opzioni comuni da abbinare al comando pkill sono:

Opzione Descrizione
-n Seleziona solo i processi più recenti corrispondenti all’ID processo
-u Seleziona i processi di proprietà di un particolare utente
-x Seleziona i processi che corrispondono esattamente al modello

Ciò è particolarmente importante quando più utenti lavorano su diverse istanze dello stesso programma nello stesso sistema e una delle istanze inizia ad avere un comportamento imprevisto. Ad esempio, nello screenshot seguente, stiamo uccidendo l’istanza “gedit” di proprietà dell’utente “intel” utilizzando il comando pkill in Linux:

pkill -u intel gedit

Termina il processo usando il comando killall

Il comando killall funziona in modo simile al comando kill ma termina tutti i processi corrispondenti al nome del processo indipendentemente dall’utente. Per impostazione predefinita, invia il segnale SIGTERM se non specificato diversamente. Una cosa interessante da notare è che il comando killall non può mai terminare se stesso ma può terminare altre istanze del comando killall . La sintassi per utilizzare il comando killall è:

killall

Alcune delle opzioni da abbinare al comando killall sono:

Opzione Descrizione
-r Interpreta process_name come un modello regex e quindi termina i processi che corrispondono al modello
-u termina il processo specificato di proprietà di un proprietario specificato.
-o Uccide i processi specificati più vecchi (avviati prima) di un tempo specifico.
-y Uccide i processi specificati più giovani (iniziati dopo) l’ora specifica.

Il comando killall può essere utile per terminare una serie dello stesso processo o anche tutti i processi di proprietà di uno specifico proprietario. Qui nel nostro esempio, stiamo uccidendo tutti i processi di “dormire per 500 secondi” usando il comando killall in Linux:

killall -v sleep

Termina il processo Linux usando il comando top/htop

Questo metodo per uccidere i processi è utile quando non hai idea di quali processi stiano consumando il massimo delle risorse. In entrambi i comandi, puoi navigare attraverso tutti i processi in esecuzione o persino i processi zombi e terminarli rapidamente. Per usare il comando top per monitorare le tue risorse, usa la sintassi nel Terminale:

top

Comprensione dell’output:

L’output principale del comando top è diviso in colonne che sono:

  1. PID: mostra l’ID del processo in esecuzione
  2. Utente: mostra il proprietario del processo
  3. PR – mostra il valore di priorità del processo assegnato dal sistema operativo
  4. NI – mostra i bei valori che sono come assegnare valori spaziati dall’utente per controllare manualmente la priorità di un’attività.
  5. VIRT: mostra la quantità di memoria virtuale utilizzata dal processo.
  6. RES – mostra la quantità di memoria fisica utilizzata dal processo
  7. SHR: mostra la quantità di memoria condivisa da altri processi
  8. S – mostra lo stato attuale del processo che può essere:
    • D – sonno ininterrotto
    • R – correre
    • S – dormire
    • T – fermato
    • Z – zombi
  9. %CPU – Mostra la quantità di CPU utilizzata dal processo in percentuale
  10. %MEM – Mostra la quantità di RAM utilizzata dal processo in percentuale
  11. TIME+ – Mostra il tempo totale di esecuzione del processo
  12. Comando: mostra quale comando è stato richiamato per il processo.

Se non conosci l’ID del processo dell’attività che desideri terminare, naviga nell’elenco utilizzando i tasti freccia o cerca il nome del processo nella tabella dei processi in Linux.

Per cercare il nome del processo, premere ‘L’ sulla tastiera e digitare il nome del processo che si desidera cercare. Una volta trovato il processo nefasto, premi “k” sulla tastiera per terminare il processo. Ora, inserisci l’ID del processo o lascialo al processo attualmente evidenziato e premi ‘INVIO’. Successivamente, inserire il segnale di terminazione e quindi premere ‘INVIO’ per terminare il programma. Per tornare al terminale, premi ‘q’ sulla tastiera.

comandi Linux htop 1 commento

Torna in alto