Prozess per Script beim Ausloggen killen
Hallo, ich steh hier vor dem Problem, einen Prozess, welcher durch den Start eines Programmes ausgelöst wird, per Script zu killen. Grund ist, dass dieser Prozess beim beenden des Programmes weiter läuft. Ein neuer sich einoggender User, kann dann das Programm nicht mehr starten, weil es von vorgenanntem Prozess blockiert wird. Bisher bin ich wie folgt vorgegangen: ps -e | grep [prozessname] > ps cut -c1-6 pid > pid Wie kann ich nun die ausgelesene PID weiterverwenden, um ein kill -9 [pid] auszulösen? Mit freundichen Grüssen Martin -- Martin Pitsch Tel.: 01746 / 99 07 47 Eichenrain 16 eMail: m.pitsch@gmx.de 71686 Remseck
On Mit, 29 Aug 2001, Thorsten Haude wrote:
* Martin Pitsch
[01-08-29 18:35]: ps -e | grep [prozessname] > ps cut -c1-6 pid > pid Huh?
Ungetestet: kill `ps -e | grep <name> | awk '{print $1}'`
Huh??? kill `pidof <name>` -dnh -- Fachsimpelt nen Chirurg mit nem Automechaniker. Sagt der A: "Manchmal fühle ich mich auch wie ein Chirurg." Sagt der C: "Dann versuchensema, bei laufendem Motor die Ventile zu wechseln." -- Reiner Kersten in dasr
Moin,
* David Haller
ps -e | grep [prozessname] > ps cut -c1-6 pid > pid Huh?
Ungetestet: kill `ps -e | grep <name> | awk '{print $1}'`
Huh??? Na, meins funktioniert wenigstens.
kill `pidof <name>` Man lernt nie aus, killall war mir auch nicht geläufig.
Thorsten -- Dieser Satz ist eine Lüge.
* Thorsten Haude schrieb am 30.Aug.2001:
Man lernt nie aus, killall war mir auch nicht geläufig.
Ist auch was problemmatisch. AFAIK killt z.B killall -9 ls jeden Prozeß, in dem ls drin vorkommt. Bernd -- Hast Du bei Problemen schon in der SuSE-Support-Datenbank (SDB) nachgesehen? Auf Deinem Rechner: http://localhost/doc/sdb/de/html/index.html | mit Apache: http://localhost/doc/sdb/de/html/key_form.html | Zufalls- Tagesaktuell bei SuSE: http://sdb.suse.de/sdb/de/html/index.html | signatur 2
On Don, 30 Aug 2001, Thorsten Haude wrote:
* David Haller
[01-08-29 19:48]: ps -e | grep [prozessname] > ps cut -c1-6 pid > pid Huh?
Ungetestet: kill `ps -e | grep <name> | awk '{print $1}'`
Huh??? Na, meins funktioniert wenigstens.
*g* Meins (als user) so:
kill `pidof <name>`
auch nicht... Denn als user und in diversen anderen Situationen hat und sollte man /sbin nicht im Pfad haben :) Ausserdem sollte pidof mit dem kompletten Pfad aufgerufen werden: Also: kill `/sbin/pidof /pfad/<name>`
Man lernt nie aus,
Full ACK!
killall war mir auch nicht geläufig.
Nicht? 'killall -9 netscape' ist doch soo oft noetig... *eg* Und 'pidof' ist auch nur ein symlink auf /sbin/killall5! Allerdings ein link, der das Verhalten von killall deutlich aendert :)) -dnh -- 30: Universeller multifunktionaler Interface-Adapter. Lötkolben. (Peter Berlich)
* Thorsten Haude
Man lernt nie aus, killall war mir auch nicht geläufig.
killall sollte man aber nur unter Linux verwenden, auf anderen Uni*en _kann_ das schief gehen. Bei einigen killt ein killall [Prozess] nämlich nicht alle Prozesse mit dem angegebenen Namen sondern _alles_! Das System steht dann... Nur mal so zur Vorsicht, _bevor_ das jemand woanders ausprobiert. cu flo -- Lieber WoKo, bitte versuche in Zukunft, sig-gerecht zu schreiben, d.h etwa auf 3 Zeilen Kürzen. Danke. ;-) [Christopher Brosch in dafb]
Am Mittwoch, 29. August 2001 18:35 schrieben Sie:
Hallo,
ich steh hier vor dem Problem, einen Prozess, welcher durch den Start eines Programmes ausgelöst wird, per Script zu killen. Grund ist, dass dieser Prozess beim beenden des Programmes weiter läuft.
Ein neuer sich einoggender User, kann dann das Programm nicht mehr starten, weil es von vorgenanntem Prozess blockiert wird.
Bisher bin ich wie folgt vorgegangen:
ps -e | grep [prozessname] > ps cut -c1-6 pid > pid
Wie kann ich nun die ausgelesene PID weiterverwenden, um ein kill -9 [pid] auszulösen?
Probiers mal damit: kill -9 `ps -e | grep [prozessname] | cut -c1-6` Vorsicht, wenn hier mehrere Prozesse rauskommen werden die alle gekillt;) vieleicht solltest Du aber mal ein kill -l aufrufen und ein anderes Signal senden (Sighup), das SIGKILL (-9) ist doch sehr radikal, da der Prozess keine Zeit mehr hat Daten zu sichern, oder lock files zu löschen. CIAO Michael
Moin! Am Mittwoch, 29. August 2001 18:35 schrieb Martin Pitsch:
Bisher bin ich wie folgt vorgegangen:
ps -e | grep [prozessname] > ps cut -c1-6 pid > pid
Wie kann ich nun die ausgelesene PID weiterverwenden, um ein kill -9 [pid] auszulösen?
Funktioniert nich einfach killall -9 prozessname. z.B.: killall -9 soffice.bin beendet staroffice. Gruß Kai Wüstermann
Moin,
* Kai Wüstermann
Funktioniert nich einfach killall -9 prozessname. Man sieht, daß Du keine Ahnung hast. Warum sollte man einen einfachen Befehl benutzen, wenn man stattdessen einen komplizierten Einzeiler schreiben kann?
Thorsten -- Wer die Wahrheit nicht weiß, der ist bloß ein Dummkopf. Aber er sie weiß und sie eine Lüge nennt, der ist ein Verbrecher! Berthold Brecht
participants (7)
-
B.Brodesser@t-online.de
-
David Haller
-
Florian Gross
-
Kai Wüstermann
-
Martin Pitsch
-
Michael Ziegler
-
Thorsten Haude