Archiv verlassen und diese Seite im Standarddesign anzeigen : Prüfen welcher Prozess bereits läuft
Hallo Leute !
Ich möchte einen Shell-Script schreiben welcher einen Dienst startet. Jetzt kann dieser Dienst aber erst gestartet werden solange er nicht schon läuft. Und da ich ihn nicht immer manuell killen möchte soll der Script herausfinden welche PID der hat und den Prozess killen.
Nur wie bekomme ich die PID raus von dem Prozess heraus ?
entweder du hast dich nicht verständlich ausgedrückt oder es ist wirklich so einfach ...
kill `ps ax|grep name_des_prozesses |awk '{print $1}'`
moe
entweder du hast dich nicht verständlich ausgedrückt oder es ist wirklich so einfach ...
kill `ps ax|grep name_des_prozesses |awk '{print $1}'`
moe
ich würde folgende Änderung vorschlagen:
kill `ps ax|grep [n]ame_des_prozesses |awk '{print $1}'`
ansonsten gibt es viele weitere Möglichkeiten...
Z.B.: Du schreibst von "Dienst" - wenn das ein regulärer Dienst der Distribution ist so hat er sicherlich schon ein Start-Stop-Script - dann würde ich das verwenden...
Nur wie bekomme ich die PID raus von dem Prozess heraus ?
pidof $task
'cuda
pidof $task
'cuda
ist doch langweilig :-)
Veierabend
10.12.07, 21:04
Wenn der Programmname einzigartig ist und nur einmal auftaucht tuts auch ein
killall $Prozessname dann braucht man keine PID zum killen :D
jo danke pidof ist mein Freund :-)
Wenn der Programmname einzigartig ist und nur einmal auftaucht tuts auch ein
killall $Prozessname dann braucht man keine PID zum killen :D
Oder pkill :)
ls /var/run|grep DIENSTNAME*.pid|perl -e '$f=<STDIN>;chomp($f);if(-f$f){open(F,$f);$f=<F>;chomp($f);kill(15,$f)};sleep(1);if(kill(0,$f)){ki ll(9,$f);}'
ich steh auf Einzeiler :ugly:
Greetz UnuX
PS.: funktioniert natürlich nur bei Prozessen die brav ne PIDFile anlegen...
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.