Ich habe eine Prozess-ID in Python. Ich weiß, dass ich es mit os.kill() töten kann, aber wie überprüfe ich, ob es am Leben ist? Gibt es eine eingebaute Funktion oder muss ich zur Shell gehen?Wie überprüfe ich, ob ein Prozess in Python unter Linux läuft?
3
A
Antwort
17
Verwenden Sie subprocess
Modul zum Spawn-Prozess. Es gibt proc.poll() Funktion - es gibt None
zurück, wenn Prozess noch am Leben ist, andernfalls gibt es Prozess Rückkehrcode zurück.
14
os.kill
nicht töten Prozesse, es ihnen Signale (es ist schlecht genannt) sendet.
Wenn Sie Signal 0 senden, können Sie bestimmen, ob Sie andere Signale senden dürfen. Ein Fehlercode zeigt an, ob es sich um ein Berechtigungsproblem oder einen fehlenden Prozess handelt.
Weitere Informationen finden Sie unter man 2 kill
.
Auch wenn der Prozess Ihr Kind ist, können Sie eine SIGCHLD
erhalten, wenn es stirbt, und Sie können einen der wait
Anrufe verwenden, um damit umzugehen.
Verwandte Themen
- 1. Wie überprüfe ich, ob ein NSTimer läuft?
- 2. Wie überprüfe ich, ob ein Prozess mit einer bestimmten PID läuft?
- 3. Wie überprüfe ich, ob ich in Python unter Windows laufe?
- 4. Überprüfen Sie, ob Remote-Prozess läuft (Linux)
- 5. Wie finde ich heraus, ob ein Prozess in C läuft?
- 6. Wie überprüfe ich mit inno-setup, ob ein Prozess bei einem Windows 2008 R2 64bit läuft?
- 7. Mit Perl, wie überprüfe ich, ob ein Prozess mit dem angegebenen Namen läuft oder nicht?
- 8. Einen Prozess in einem Python-Skript unter Linux
- 9. Überprüfen Sie, ob ein gespeicherter Prozess läuft.
- 10. node.js Wie überprüft man, ob ein Prozess unter dem Prozessnamen läuft?
- 11. Kann man herausfinden, in welchem Skript ein Python-Prozess läuft?
- 12. Erkennen, ob ein Prozess noch läuft
- 13. Wie überprüfe ich, ob ein couchdb Dokument existiert mit Python
- 14. Wie überprüfe ich, ob mongo db auf Mac läuft?
- 15. Überprüfen, ob der Prozess läuft
- 16. Multiprocessing Prozess beendet unter Linux
- 17. überprüfen, ob ein Java-Prozess in Linux existiert
- 18. Wie überprüfe ich, ob ein Programm als aktueller Benutzer über bat oder cmd läuft?
- 19. Umgebungsvariablen in Python unter Linux
- 20. Ermitteln, ob ein Python-Programm auf WINE läuft
- 21. Wie "unterbrechungsfreie" Prozess unter Linux zu stoppen?
- 22. Wie erkennt man über Java, ob ein bestimmter Prozess unter Windows läuft?
- 23. Wie überprüfe ich in Python, ob eine Variable existiert?
- 24. Wie der Prozess unter UNIX/LINUX einzuengen
- 25. Wie überprüft man, ob ein Prozess in Windows mit Python 2.2 läuft?
- 26. Wie überprüfe ich, ob eine IsolatedStorageFile existiert?
- 27. Wie kann ich feststellen, auf was ein Linux-Prozess wartet?
- 28. Wie überprüfen Sie Linux mit Python, wenn ein Prozess noch läuft?
- 29. Wie überprüfe ich, ob ein Char ein Vokal ist?
- 30. Erzähle, ob eine gegebene Anmeldung unter Linux mit Python existiert
Es ist nicht schlecht benannt. Es wird benannt, um den Unix-Befehl kill zu reflektieren, der auch Signale sendet, und ist somit eine Verallgemeinerung des Sendens eines Kill-Signals. – jwg