GNU/Linux >> Linux Esercitazione >  >> Linux

Trova (e uccidi) i vecchi processi

Soluzione 1:

Puoi farlo con una combinazione di ps , awk e kill:

ps -eo pid,etime,comm

Fornisce un output di tre colonne, con il PID del processo, il tempo trascorso dall'avvio del processo e il nome del comando, senza argomenti. Il tempo trascorso è simile a uno di questi:

mm:ss
hh:mm:ss
d-hh:mm:ss

Dal momento che desideri processi in esecuzione da più di una settimana, cercherai le righe che corrispondono a quel terzo modello. Puoi usare awk per filtrare i processi in base al tempo di esecuzione e al nome del comando, in questo modo:

ps -eo pid,etime,comm | awk '$2~/^7-/ && $3~/mycommand/ { print $1 }'

che stamperà i pid di tutti i comandi corrispondenti a "mycommand" che sono in esecuzione da più di 7 giorni. Inserisci l'elenco in kill e il gioco è fatto:

ps -eo pid,etime,comm | awk '$2~/^7-/ && $3~/mycommand/ { print $1 }' | kill -9

Soluzione 2:

killall --quiet --older-than 1w process_name


Linux
  1. Come trovare i migliori processi in esecuzione in base all'utilizzo di memoria e CPU

  2. Trova il modello e spostati?

  3. Come faccio a trovare e terminare un processo in Ubuntu

  4. Linux:trova e uccidi i processi di zombi

  5. Trova e copia i file

Come trovare e uccidere i processi zombi in CentOS 8

Come trovare i 10 principali processi in esecuzione in base all'utilizzo di memoria e CPU

Come trovare l'ID di processo di un programma e ucciderlo [Suggerimento rapido]

Come trovare i migliori processi in esecuzione in base all'utilizzo di memoria e CPU in Linux

Padroneggia il processo di uccisione di Linux utilizzando ps, pgrep, pkill e altro

Come uccidere i processi in Linux usando kill, killall e pkill