Von C# auf einer Windows-Box gibt es eine Möglichkeit, um herauszufinden, wie ein Prozess gestoppt wurde? Ich habe mir die Klasse Process angesehen, die es geschafft hat, einen netten freundlichen Rückruf vom Exited-Ereignis zu erhalten, sobald ich EnableRaisingEvents = true gesetzt habe; aber ich habe nicht herausgefunden, ob der Prozess getötet wurde oder ob er natürlich ausstieg?Wie wurde mein Prozess beendet?
Antwort
Starten Sie Process Process Monitor (von Sysinternals, ein Teil von Microsoft), führen Sie Ihren Prozess aus und lassen Sie ihn sterben, filtern Sie dann die Process Monitor-Ergebnisse nach Ihrem Prozessnamen - Sie werden alles sehen, was es getan hat, einschließlich exit Codes.
Sie können den Rückgabecode des Prozesses dafür verwenden. Wenn Ihr Prozess einen Wert ungleich null von seiner Main-Methode zurückgibt, können Sie dann überprüfen, ob der Prozess von selbst beendet wurde (der Rückgabewert stimmt überein).
Schöne Antwort Antoine, leider kann ich den Rückgabecode nicht ändern. Mein Fehler - ich denke, ich muss den Umfang der Frage eingrenzen.
Realistisch glaube ich nicht einmal, dass ich auch eine programmatische Lösung brauche - ein Dienstprogramm wäre in Ordnung - ich habe mir die beeindruckend aussehende Process Explorer angesehen, aber das scheint mir diese Details nicht zu geben.
Das Problem, das ich habe, ist das Programm, das ich abfragen möchte, wird von einem Zeitplanungssystem ausgeführt, das den geplanten Tasks von Windows entspricht, aber das nicht. Gibt es eine Möglichkeit festzustellen, ob dieser Scheduler das Programm zwangsweise stoppt?
- 1. Wiederherstellungsstatus, nachdem der Prozess beendet wurde
- 2. Wie kann man wissen, wann ein Prozess beendet wurde?
- 3. Wie aktiviert man die Formularschaltfläche, nachdem der Prozess beendet wurde?
- 4. PYTHON Wie erkenne ich, wenn ein Prozess beendet wurde?
- 5. Wie kann ich feststellen, ob ein Prozess beendet wurde?
- 6. Wie erkenne ich, wie mein Prozess gestartet wurde?
- 7. C# process.start, woher weiß ich, ob der Prozess beendet wurde?
- 8. Neustart der Android-Anwendung, nachdem der Prozess beendet wurde
- 9. die Anwendung OpenWnn (Prozess jp.co.omronsoft.openwnn) wurde unerwartet beendet
- 10. Wie kann ein Prozess abgebrochen werden, ohne dass eine Ausnahme "Prozess wurde beendet" angezeigt wird?
- 11. Prozess wurde beendet, aber der Puffer wird noch gedruckt, C#
- 12. AWS Lambda "Prozess beendet, bevor die Anforderung abgeschlossen wurde"
- 13. Prozess beendet nicht
- 14. Warum mein Vorgesetzter beendet?
- 15. Multiprocessing Prozess beendet unter Linux
- 16. Python-Prozess wird nicht beendet
- 17. Warten auf Java-Prozess beendet
- 18. Warum endet mein Prozess?
- 19. Wird Prozess/Thread-Release-Mutex beendet?
- 20. Verwalten Sie eine .NET-App so, dass sie ordnungsgemäß beendet wird, wenn sie beendet/beendet wurde
- 21. sagen, wenn ein execl() Prozess beendet
- 22. Windows-Prozess ausgeführt von Java nicht beendet
- 23. Warten Sie, bis der Prozess beendet ist
- 24. Wie kann ich den Stack-Trace sehen, nachdem der Prozess beendet wurde?
- 25. Wie wird die Verarbeitung fortgesetzt, nachdem die Animation beendet wurde?
- 26. Wie wird eine Java-Anwendung ordnungsgemäß beendet, die beendet wird, nachdem die Befehlszeile geschlossen wurde, von der sie ausgeführt wurde?
- 27. wartet mein Prozess auf Eingabe?
- 28. phantomjs exit() beendet den Prozess nicht
- 29. TeamCity Build "Prozess beendet mit Code 128"
- 30. Apache Kind Prozess beendet mit Status 255