Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Prozess verstecken (https://www.delphipraxis.net/59517-prozess-verstecken.html)

CodeX 24. Jul 2008 22:04

Re: Prozess verstecken
 
Ich erstelle mal keinen neuen Thread dazu, sondern packe meine Frage mal hinterher, weils ja irgendwie hier dazu gehört...

Ich würde gerne den Prozess eines Services aus dem Task-Manager entfernen. Irgendwie finde ich es eh seltsam, dass der dort auftaucht, sobald man ihn über den Dienste-Dialog gestartet hat. Gibt es für einen Service eine bestimmte Einstellung dafür oder muss ich da genau so tricksen wie z.B. mit dem oben angesprochenen Code aus der Library?

Cyf 24. Jul 2008 22:45

Re: Prozess verstecken
 
Ich wüsste nicht wozu sowas nötig ist, außer um Unsinn damit anzustellen, wenn dein Programm Arbeiten im Hintergrund für alle Benutzermachen soll und nicht jeder Benutzer Zugriff auf ihn haben soll, erstelle einen System-Dienst (wie z.B. der Apache das tut), ansonsten kann er eigentlich auch im Benutzerkontext laufen. Es sollte zu keinem Zweck nötig sein, einen Prozess völlig zu verbergen, also auch vor Administratoren.

CodeX 24. Jul 2008 23:10

Re: Prozess verstecken
 
Hallo? Beitrag gelesen oder einfach nur auf ein Stichwort hin geantwortet?

Es geht um einen System-Dienst. Dieser ist ganz nochrmal bei den Diensten gelistet, wo er gerne bleiben kann und soll. Jedoch wird er leider auch im Task-Manager angezeigt, wo er meiner Meinung nach nichts zu suchen hat. Dort kann man ihn ja nicht mal beenden. Und da viele andere Dienste da nicht auftauchen, frage ich mich eben, wie man einen Dienst aus der Prozessliste raushält.

Luckie 24. Jul 2008 23:15

Re: Prozess verstecken
 
Warum hat er da nichts zu suchen? Und mit entsprechenden Tool siehst du auch alle anderen Dienste. Für mich ist dass immer nochkein hinreichender Grund warum du den Dienst verstecken willst. Ich würde mich eher fragen, warum dein Dienst kein Kindprozess vom Servicemanager svchost ist.

CodeX 24. Jul 2008 23:27

Re: Prozess verstecken
 
Zitat:

Zitat von Luckie
Warum hat er da nichts zu suchen?

Es laufen doch bestimmt an die 40 andere Dienste, und keiner von denen taucht in der Prozess-Liste des Taskmanagers auf. Ist das jetzt zu weit hergeholt, wenn ich das für meinen Dienst auch so haben möchte?

Zitat:

Zitat von Luckie
Und mit entsprechenden Tool siehst du auch alle anderen Dienste.

Damit habe ich kein Problem.

Zitat:

Zitat von Luckie
Ich würde mich eher fragen, warum dein Dienst kein Kindprozess vom Servicemanager svchost ist.

Gute Frage. Ich habe lediglich diverse Anleitungen zum Erstellen von Diensten befolgt.
Und dann eben:
1. C:\myserv.exe /install
2. services.msc
3. Rechtsklick, starten

Ich sag ja, es kann durchaus sein, dass im Code des Dienstes irgendeine Einstellung nicht (richtig) gesetzt ist, aber ich habe keinerlei Ansatzpunkt, was ich da machen könnte. Deshalb frage ich ja nach...

Cyf 25. Jul 2008 00:32

Re: Prozess verstecken
 
Es war nicht Sinn der Sache dich anzugreifen oder etwas zu unterstellen, ich erkenne nur absolut keinen Sinn darin einen Sinn verbergen zu wollen, die Frage ist eher, ob es ein gutes Konzept ist, wenn es möglich ist das andere Dienste/Prozesse (ausgenommen die auf die kein Zugriff für den Benutzer besteht bzw. Adminrechte benötigt werden), vom normalen Taskmanager nicht angezeigt werden, welcher zur Überwachung der laufenden Prozesse gut ist (sein sollte). Ich finde einfach auch keinen sinnvollen (legalen) Grund dafür sowas zu verbergen.

emsländer 25. Jul 2008 00:41

Re: Prozess verstecken
 
Moin,

Du kannst den ServiceType auf stDevice stellen. Dann ist er wie ein Treiber und taucht weder im DienstManager, noch im TaskManager auf. Evtl. zusätzlich den StartType auf stSystem.

Gnade Dir sonstwer, wenn Du damit Blödsinn anstellst!


Gruss

EL

CodeX 25. Jul 2008 14:51

Re: Prozess verstecken
 
Keine Sorge, ich hab nichts Böses vor.

Und quasi daraus resultierend, hilft mir die Einstellung auf stDevice leider wenig. Der Service ist dann zwar aus der Prozessliste des Taskmanagers verschwunden, leider aber auch aus der Dienste-Liste (services.msc). Da soll er ja ganz normal drin bleiben und steuerbar sein.

Verstehe nicht, dass das wohl wirklich umständlicher als nötig ist... Wie machen das denn die ganzen anderen Dienste, die alle nicht im Taskmanager auftauchen, aber ganz normal über die Dienste-Liste angezeigt und gesteuert werden können?

Apollonius 25. Jul 2008 15:06

Re: Prozess verstecken
 
Hast du dir mal den Pfad der Exe anzeigen lassen? Bei mir ist das svchost.exe -k netsvcs. Das bedeutet, dass es sich um einen DLL-Service handelt. Dokumentation zu DLL-Services habe ich in der MSDN Library nicht gefunden. Anscheinend muss die DLL eine Funktion "ServiceMain" exportieren, die dann automatisch von svchost.exe aufgerufen wird. Weitere Einstellungen sind in der Registry unter HKLM\System\CurrentControlSet\Services\Servicename .

OregonGhost 25. Jul 2008 15:06

Re: Prozess verstecken
 
Zitat:

Zitat von CodeX
Verstehe nicht, dass das wohl wirklich umständlicher als nötig ist... Wie machen das denn die ganzen anderen Dienste, die alle nicht im Taskmanager auftauchen, aber ganz normal über die Dienste-Liste angezeigt und gesteuert werden können?

Redest du von Windows-Diensten? Die tauchen alle ganz brav im Taskmanager auf. Viele davon sind Bestandteil von svchost.exe. Gib mal auf einer Kommandozeile

tasklist /svc

ein, dann bekommst du eine Liste aller laufenden Programme und eine Liste aller Dienste, die im jeweiligen Programm enthalten sind oder gerade laufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:31 Uhr.
Seite 2 von 3     12 3      

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