GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Finden (und beenden) Sie alte Prozesse

Lösung 1:

Sie können dies mit einer Kombination aus ps , awk und kill tun:

ps -eo pid,etime,comm

Gibt Ihnen eine dreispaltige Ausgabe mit der Prozess-PID, der verstrichenen Zeit seit dem Start des Prozesses und dem Befehlsnamen ohne Argumente. Die verstrichene Zeit sieht wie folgt aus:

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

Da Sie Prozesse suchen, die seit mehr als einer Woche laufen, würden Sie nach Zeilen suchen, die diesem dritten Muster entsprechen. Sie können awk verwenden, um die Prozesse nach Laufzeit und Befehlsnamen herauszufiltern, etwa so:

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

Dadurch werden die PIDs aller Befehle gedruckt, die mit 'mycommand' übereinstimmen und seit mehr als 7 Tagen ausgeführt werden. Leite diese Liste an kill weiter und du bist fertig:

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

Lösung 2:

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


Linux
  1. So finden und töten Sie den Zombie-Prozess in Linux

  2. Was sind Zombie-Prozesse und wie findet und tötet man Zombie-Prozesse?

  3. So finden Sie die am häufigsten ausgeführten Prozesse nach Speicher- und CPU-Auslastung

  4. Muster finden und verschieben?

  5. Suchen und kopieren Sie Dateien

So finden und töten Sie Zombie-Prozesse in CentOS 8

So finden Sie die Top 10 der laufenden Prozesse nach Speicher- und CPU-Auslastung

So finden Sie die Prozess-ID eines Programms und beenden es [Kurztipp]

So finden Sie die am häufigsten ausgeführten Prozesse nach Speicher- und CPU-Auslastung in Linux

Meistern Sie den Linux-Kill-Prozess mit ps, pgrep, pkill und mehr

So beenden Sie Prozesse in Linux mit kill, killall und pkill