Prozesse stoppen [Beitrag #2518] |
Do, 08 Oktober 2015 08:50 |
JMohren
Beiträge: 5 Registriert: Oktober 2015
|
Junior Member |
|
|
Hallo zusammen
Ich habe folgendes Problem. Ich möchte innerhalb eines Skripts Prozesse nach einem frei definierbaren Prozessnamen stoppen. Das klapp auch ziemlich gut mit
> kill -TERM `ps -ef | grep -i $1 | grep -v grep | awk '{print $2}'`
Jetzt laufen die Prozesse aber unter einem anderen Account. Ich hätte also gerne die Möglichkeit, mit su <account> -c <command> das Kill-Kommando abzusetzen. Mit den ganzen zu interpretierenden Quotes und Backquotes bekomme ich das jedich nicht hin.
Hat jemand eine Idee, wie ich das hinbekommen kann?
Viele Dank im Voraus
Viele Grüsse
Jörg
|
|
|
Aw: Prozesse stoppen [Beitrag #2519 ist eine Antwort auf Beitrag #2518] |
Do, 08 Oktober 2015 09:45 |
|
B-52
Beiträge: 218 Registriert: August 2010 Ort: Bern
|
Senior Member |
|
|
JMohren schrieb am Do, 08 Oktober 2015 08:50
Jetzt laufen die Prozesse aber unter einem anderen Account.
unter welchem denn genau?
mit top kannst Du laufende Prozesse (und dessen Besitzer) analysieren. Also:
yuna@supertux:~$ top | grep systemd
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 176772 5356 3108 S 0.0 0.1 0:00.85 systemd
zudem scheint Dein Kommando nicht korrekt aufgebaut zu sein. Hast Du das schon versucht:
ps aux | grep -ie "SCRIPTNAME" | awk '{print $2}' | xargs kill -9
LG B-52
meine Distribution: Debian Bullseye minimal (vServer)
[Aktualisiert am: Do, 08 Oktober 2015 09:54] Den Beitrag einem Moderator melden
|
|
|
|
|
Aw: Prozesse stoppen [Beitrag #2523 ist eine Antwort auf Beitrag #2521] |
Do, 08 Oktober 2015 16:24 |
JMohren
Beiträge: 5 Registriert: Oktober 2015
|
Junior Member |
|
|
Hallo B-52
Da hatte ich mich vielleicht unklar ausgedrückt. Ich will nicht einfach su -c <command> machen, sondern su <procuser> -c <command>. Es ist klar, dass dann das Passwort von <procuser> abgefragt wird (wenn ich nicht gerade root bin), aber das ist ok. Es geht nur darum, dass das Kommando von der Support-Account abgesetzt werden kann, ohne dass er sich extra unter <procuser> einloggen muss. Was ich also machen will, ist
> su <procuser> -c "kill -TERM `ps -ef | grep -i $1 | grep -v grep | awk '{print $2}'`"
was aber leider so nicht funktioniert. Meine Frage, wie kann ich das anders umsetzen?
Viele Grüsse
Jörg
|
|
|