PIDs blockiern/erlauben
-
Kann man bestimmte PIDs blockieren so das kein startendes Programm sie erhalten kann und diese dann später auch wieder erlauben?
-
Bestimmt nicht mit Standardkonformem C++.
-
Kann es dann ein Mod ins WinAPI verschieben bitte?
-
Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
pid schrieb:
Kann man bestimmte PIDs blockieren so das kein startendes Programm sie erhalten kann und diese dann später auch wieder erlauben?
Bestimmt nicht. Was willst du damit erreichen?
-
Registrierter Troll schrieb:
Bestimmt nicht. Was willst du damit erreichen?
Ich habe ein kleine Programm geschrieben was überprüft ob eine PID vorhanden ist (also ob ein zuvor gestartetes Programm also immernoch läuft) und wenn nicht startet es dieses Programm neu. Es wird alle 60sek überprüft. Nun könnte aber dieses Programm abstürzen und sich ein anderes Programm öffnen was zufällig die gleiche PID bekommt weshalb mein Tool es als laufend anerkennt obwohl das eigentliche Programm ja nicht mehr läuft. Deshalb will ich PIDs blocken damit kein anderes Programm diese annehmen kann damit mein Tool es erkennt...
-
Was ist den das für ein super Programm, welches abstürzt??
-
theta schrieb:
Was ist den das für ein super Programm, welches abstürzt??
Ist doch egal? Mir geht's nur darum den zu restarten und deswegen muss ich "nur für den Fall" wissen wie man PIDs blockiert falls dies denn möglich ist.
-
Woher kriegst du denn die PID? Das geht doch bestimmt über ein Prozesshandle, warum arbeitest du nicht damit?
-
erzeuge ein 'named' kernel object, z.b. einen event, mutex oder so. wenn du es öffnen kannst, lebt dein prozess, wenn nicht, dann nicht.

-
Du kannst auch nachschauen, ob der Prozess noch läuft, indem Du alle Prozesse durchgehst... eine PID zum Vergelich zu verwenden ist etwas an den Haaren herbeigezogen... aber wie schon erwähnt wurde ist vermutlich ein Mutex die bessere Lösung...