AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

z.B. Taskkill erkennen

Ein Thema von ADelph · begonnen am 11. Dez 2018 · letzter Beitrag vom 12. Dez 2018
Antwort Antwort
Seite 1 von 3  1 23   
ADelph

Registriert seit: 10. Aug 2009
97 Beiträge
 
Delphi 10.4 Sydney
 
#1

z.B. Taskkill erkennen

  Alt 11. Dez 2018, 13:01
Moin,

ist es irgendwie möglich, in einem Delphi-Programm den Abbruch durch z.B. taskkill zu erkennen? Mir geht es darum z.B. noch 'hängende' Transaktionen etc. sauber beenden zu können, wenn ein Programm aus anderen Gründen hängen sollte und per z.B. Taskmanager 'abgeschossen' werden soll. Kann ich da irgendeine Message abfangen?

Hinweise sind sehr willkommen
Wir versuchen in fehlerbehafteten Systemen mit fehlerhaften Entwicklungsumgebungen fehlerfreie Software zu erstellen - das kann nicht klappen
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: z.B. Taskkill erkennen

  Alt 11. Dez 2018, 13:03
Ich würde stetig prüfen, ob der Prozess noch existiert. Wenn nicht, wurde er abgeschossen oder anders beendet.
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: z.B. Taskkill erkennen

  Alt 11. Dez 2018, 13:04
ist es irgendwie möglich, in einem Delphi-Programm den Abbruch durch z.B. taskkill zu erkennen?
Nein. Dem Prozess wird einfach hart der Saft abgedreht.

Geändert von Schokohase (11. Dez 2018 um 13:12 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#4

AW: z.B. Taskkill erkennen

  Alt 11. Dez 2018, 13:11
Das Nein war vermutlich darauf bezogen, dass du keine Message bekommst wenn ein Task hart beendet wird.
Aber warum eine Message abfangen wollen, wenn man einfach auf Existenz eines Prozesses prüfen kann.

Ob ein Prozess hängt wird glaube ich schwieriger. Wenn es dein eigenes Programm ist was hängt, gibt es irgendwo nicht behandelte oder richtig behandelte Fehler im Code.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: z.B. Taskkill erkennen

  Alt 11. Dez 2018, 13:29
Das Nein war vermutlich darauf bezogen, dass du keine Message bekommst wenn ein Task hart beendet wird.
Aber warum eine Message abfangen wollen, wenn man einfach auf Existenz eines Prozesses prüfen kann.

Ob ein Prozess hängt wird glaube ich schwieriger. Wenn es dein eigenes Programm ist was hängt, gibt es irgendwo nicht behandelte oder richtig behandelte Fehler im Code.
Ich glaube er redet davon IN seinem Programm zu erkennen wenn das Programm selbst abgeschossen wird, nicht ein fremdes Programm.

Die einzige Möglichkeit die mir einfällt, die funktionieren könnte wäre TerminateProcess global zu hooken.
Das ist aber ne größere Aktion.

Ansonsten gilt:
Zitat von https://docs.microsoft.com/en-us/windows/desktop/api/processthreadsapi/nf-processthreadsapi-terminateprocess:
A process cannot prevent itself from being terminated.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (11. Dez 2018 um 13:34 Uhr)
  Mit Zitat antworten Zitat
ADelph

Registriert seit: 10. Aug 2009
97 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: z.B. Taskkill erkennen

  Alt 11. Dez 2018, 14:03
Moin,

danke für die schnellen Antworten!

Ich hatte mir schon gedacht, dass es nicht einfach geht, bzw. gar nicht gehen könnte...schade, wäre nützlich...
Wir versuchen in fehlerbehafteten Systemen mit fehlerhaften Entwicklungsumgebungen fehlerfreie Software zu erstellen - das kann nicht klappen
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.647 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: z.B. Taskkill erkennen

  Alt 11. Dez 2018, 14:11
Wie machen es die Prozesse, die man nicht killen kann? Laufen die in einem anderen Kontext?
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#8

AW: z.B. Taskkill erkennen

  Alt 11. Dez 2018, 16:13
Wie machen es die Prozesse, die man nicht killen kann? Laufen die in einem anderen Kontext?
Auch Prozesse haben unter Windows Berechtigungen. Kann man sich z.B. mit Process Explorer oder Process Hacker anschauen. Derartige Prozesse setzen die Berechtigungen so, dass ein simples Terminieren nicht so einfach geht. Wie das genau geht, weiß ich allerdings auch nicht; interessiert mich allerdings selbst, wie das geht.

Grüße
Dalai
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#9

AW: z.B. Taskkill erkennen

  Alt 11. Dez 2018, 16:16
Nur eine Vermutung. Aber warum zerbrichst du dir wegen ein paar Nutzern den Kopf? Wenn die dein Programm per TaskManager abschießen und das Risiko korrupter Daten damit eingehen, ist das deren Problem.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.647 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: z.B. Taskkill erkennen

  Alt 11. Dez 2018, 16:31
Nur eine Vermutung. Aber warum zerbrichst du dir wegen ein paar Nutzern den Kopf? Wenn die dein Programm per TaskManager abschießen und das Risiko korrupter Daten damit eingehen, ist das deren Problem.
kann man es beweisen? Die sagen, Daten sind kaputt, sie wissen von nichts.
Sven Harazim
--
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz