2016-03-23 10 views
0

Ich brauche ein Shell-Skript, um alle nicht verwendeten (laufenden) PID-Dateien aufzulisten.LINUX Wie bekomme ich die nicht laufenden PID-s?

Wie kann ich überprüfen, ob die PID nicht läuft?

+0

Holen Sie die PID aus der Datei (Datei Inhalt? Dateiname?) Dann überprüfen Sie die Prozessliste für diese PID. –

+0

Listet alle .pid-Dateien im/var/run-Verzeichnis auf.Ich weiß, dass jede .pid-Datei eine Nummer enthält, die ihre Prozess-ID anzeigt.Ich muss sie mit allen laufenden Prozessen vergleichen. Wenn die laufenden Prozesse diese PID nicht enthalten dann muss ich das auf die Standardausgabe schreiben. Das Problem ist, dass ich nicht alle pids mit allen laufenden Prozessen vergleichen kann. – Aaron

+1

'ps aux | grep '^ $ pid'', im Grunde –

Antwort

1

Ist das wonach Sie suchen?

#!/bin/bash 
while read -d $'\0' -r f; do 
    pid="$(cat "$f")" 
    if ! ps "$pid" &> /dev/null; then 
    echo "$pid" 
    fi 
done < <(find /run -type f -regextype posix-basic -regex '^.*\.pid$' -print0) 
Verwandte Themen