Script um Prozess zu Killen und Starten

E-[GOR]

Cadet 4th Year
Registriert
Feb. 2005
Beiträge
117
Hallo,

ich möchte gern alle paar Stunden meinen Apache Process killen und dann sofort wieder starten. Ich dachte da an sowas wie ein script das ich über die geplanten task laufen lasse.

Kann mir bei dem Script jemand weiterhelfen?

Wäre echt super! Danke
 
Hi,

einen Prozess kannst du zumindest unter XP mit "taskkill" beenden. Wenn du aber Dienste meinst, so wie ich glaube, dann geht das mit "net start" bzw. "net stop".
Nebenbei: Ich bilde mir ein, dass der Apache Kommandozeilenparameter annimmt, um sich zu beenden bzw. zu stoppen...

MfG, Gobble-G
 
problem: das muss auf nem win 2000 sys laufen, und da gibs noch kein taskkill...


hät ich vieleicht schon anfangs sagen sollen ;-)
 
Also über die Konsole kann men den 2.2er als Prozess z.B. so steuern. Als Dienst ist das nicht viel anders und die älteren Versionen dürften davon auch nicht all zu weit abweichen...
 
Ich hab jetzt die PSTools installiert, kenn mich da aber nicht so wirklich aus. Weis jemand wie da das script ausschauen sollte um einen Prozeß zu killen und anschliesend wieder zu starten?!
 
Was willst du denn noch wissen? Ein kurzer Blick in die Doku verrät, dass pskill das richtige Kommando ist. Damit beendest du den gewünschten Prozess und kannst ihn anschließend durch Aufrufen der ausführbaren Datei und ggf. irgendwelcher Parameter wieder starten. Kleiner Tipp: die ausführbare Datei trägt meist ein .exe am Ende.
Die beiden Kommandos schreibst du in zwei Zeilen einer Batch-Datei und lässt diese durch die geplanten Tasks zum gewünschten Zeitpunkt starten.
 
ich kriegs nich hin... also mein script sieht so aus


pskill -t \\srveins apache.exe

psservice \\srveins "apache"



mein apache wird zwar gekillt. aber nicht wieder gestartet. mit net start startet er jedoch
 
E-[GOR] schrieb:
mein apache wird zwar gekillt. aber nicht wieder gestartet. mit net start startet er jedoch
Und du willst ihn nicht als Dienst starten, oder wie? Dann ruf einfach die Stardatei auf.
Bsp.: "C:\Programme\Apache\apache.exe" oder so ähnlich...


Oder verstehe ich dich falsch? Läuft der Apache auf einem anderen Rechner?
 
Hallo,

ja ich versuchs noch mal im detail.

Der apache laüft auf dem Domain Controller "Srveins". Ich möchte verschiedenen Useren eine Verküpfung zur verfügung stellen um das Script auszuführen. Diese User sind per RDP am Terminal server angemeldet "Srvterminal"

Ab und zu häng sich der Apache auf, dann bleibt nur noch mit dem Process Explorer den Task zu Killen und anschließend den Dienst über die EasyPHP konsole manuel zu Starten.

Dies krieg ich aber mit dem Script nicht ganz gebacken...:(
 
Ah, es ist also eine Remote-Geschichte. Und zwar willst du von "Srvterminal" auf "Srveins" den Apache starten. (Das Beenden hast du ja schon hinbekommen.)
Da du den Apache als Dienst und nicht als Prozess starten möchtest, ist PsService wohl doch das richtige Kommando für dich. Das müsste dann bei dir ungefähr so aussehen:
Code:
psservice \\Srveins start "Httpdsrv"
In der Doku der PsTools sind noch zahlreiche Parameter erklärt, mit denen du z.B. auch einstellen kannst, mit welchem Benutzerkonto (-u username -p password) der Apache ausgeführt werden soll. Ich denke, das wird noch wichtig sein, da ja verschiedene Nutzer auf dem Terminalserver den Apache auf dem Domain Controller wieder starten sollen.
Den Namen (im Beispiel "Httpdsrv") des Dienstes bekommst du raus, in dem du PsService ohne Parameter auf dem Server ausführst. Dann bekommst du eine Liste aller registrierten Dienste mit den entsprechenden Namen. Eigentlich kannst du den Dienst über PsService auch beenden bzw. gleich neustarten. Ob das allerdings auch so einfach geht, wenn sich der Apache aufgehangen hat, weiß ich nicht.

Wenn dir das mit dem Passwort zu heikel ist, würde ich einen Benutzer auf "Srveins" anlegen, der keine anderen Rechte hat, als den Server zu beenden und wieder zu starten. Dann spielt das keine Rolle, ob deine Mitarbeiter das Passwort sehen oder nicht. Sie können eh nix anderes damit machen, als das Skript ohnehin schon macht.

Viel Erfolg!



Tipp: Wenn irgendwas nicht geht, schiebe ich es zuerst auf die Firewall. PsKill hat bei dir zwar funktioniert, aber wer weiß, was noch kommt...
 
Zurück
Oben