![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| UNIX für Fortgeschrittene und Experten Expert-to-Experte. Erfahren Sie fortgeschrittene UNIX-, UNIX-Kommandos, Linux-Betriebssysteme, System-Administration, Programmierung, Shell, Shell-Skripte, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| GM b / n töten und kill -9 | ammu | UNIX für Fortgeschrittene und Experten | 2 | 07-18-2007 06:29 PM |
| kill (0, -9) nicht der Prozess beendet | umen | High-Level-Programmierung | 9 | 06-19-2007 07:09 AM |
| nicht in der Lage zu töten finden mit kill -9 | Amardeep | UNIX for Dummies Questions & Answers | 5 | 01-04-2007 05:49 PM |
| KILL PID, intern sollte töten anderen PID. | rkrgarlapati | Shell Programmierung und Scripting | 4 | 10-17-2006 08:47 AM |
| Wenn töten doesnt Arbeit, wie man einen Prozess? | VijayHegde | UNIX für Fortgeschrittene und Experten | 3 | 05-12-2006 05:24 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread |
Bewertung:
|
Anzeige-Modi |
|
|
|
||||
|
KILL ohne PID
Frohe Experten
Ich habe ein Problem. ich ein Skript in backgroun. und ich möchte, zu töten, dass Skript mit nur Skriptnamen ..... Was ist die Lösung .. für Ihre Infos mein Skript Name ist "testscript" n enthält "sleep 100" Dank .... |
|
||||
|
Wenn Ihr System pidof, Verwenden Sie diese. Andernfalls wird die übliche Lösung ist, um grep auf einem ps Auflistung der Prozesse, und die Verwendung zu finden, dass die PID, die an töten. Allerdings, ein naiver Versuch wird das Problem, dass es finden sich in den Prozess Auflistung und Selbstmord statt töten die beabsichtigte Ziel. Die richtige Lösung für diese, ist die Verwendung eines regulären Ausdrucks, die nicht direkt mit sich selbst als Such-String. Leider sind die Optionen-und Output-Format ps variiert von einem System zum anderen. Die folgenden Arbeiten, die für mich auf eine neuere Version von Ubuntu. Code:
ps t | awk '$5 ~ /^[t]estscript/ { print $1 }' | xargs -r kill
Die Verwendung von [t] statt nur eine reine t ist die Lösung für die "Skript selbst töten" Problem. Die Verwendung von xargs-r verhindert töten aus betrieben werden, wenn es keine Spiele (es wäre nur eine Warnmeldung über laufende töten ohne Argumente, so dass es sich nicht um eine sehr tödlichen Problem). Die Option t und die Zahl $ 1 und $ 5 müssen möglicherweise geändert werden, für Ihr System. Wenn Sie Google für eine ähnliche Lösung für Ihre Plattform, sich für die oben beschriebenen Probleme. Für stilistische Gründe, einer einzigen awk Skript sollte bevorzugt werden, was ist liebevoll genannt Nutzlos Verwendung von Grep. Zuletzt bearbeitet von ERA; 08-02-2008 auf 04:44 AM.. |
|
|||||
|
Wenn Sie mit Linux, können Sie die killall Befehl aus, um einen Prozess mit der Prozess-Name (n) (nicht die PID).
Siehe zum Beispiel: killall (1): kill Prozesse nach Namen - Linux Manpage Se alle, pkill: http://linux.die.net/man/1/pkill |
|
||||
|
Etwas einfacher:
killall procName Eine weitere Möglichkeit: in Ihrem Skript, eine temporäre Datei, die die aktuelle PID des Skripts. Wenn Sie wollen, den Prozess zu beenden, verwenden Sie diese als solche: kill -9 `cat pidfile" Wenn Sie möchten, dass etwas sehr spezifisch und präzise: - Setuid () an einen anderen Benutzer, die nur läuft dieser Prozess (Skript) - Pkill -9-u youruser Sie können auch pkill zu töten, alle Prozesse mit einem bestimmten Terminal pkill -9-t pts / 1 |
![]() |
| Lesezeichen |
| Tags |
| Prozess-ID finden, töten |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|