Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
08.05.2021, 13:18:53

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
Statistiken
  • Beiträge insgesamt: 734029
  • Themen insgesamt: 59145
  • Heute online: 580
  • Am meisten online: 2287
  • (22.01.2020, 19:20:24)
Benutzer Online

Autor Thema:  Bash Shell Skript funktioniert nicht, wer kann helfen?  (Gelesen 323 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.


Welcher Bash Shell Skript Spezialist kann mir mal helfen?
Ich möchte in einem Skript eine laufende App beenden (hier als Beispiel den Firefox Browser).
Ich dachte eigentlich es sollte so gehen:

-------------------------------------
ps -A | grep "firefox" > $variable
kill $variable
-------------------------------------

Ich dachte:
Die erste Zeile filtert die PID des laufenden Browsers und gibt sie in eine Variable,
die zweite Zeile soll den Prozess mit der gefundenen PID killen.

Das funktioniert nur wenn man die 1. Zeile manuell am Terminal eingibt und nicht umleitet,
und danach die am Terminal angezeigte PID als Parameter manuell dem KILL Befehl übergibt.

Das Skript funktioniert aber aus 2 Gründen nicht, 
1. klappt das mit der Umleitung nicht, auch der Versuch in eine Datei umzuleiten nicht.
2. hat der KILL Befehl scheinbar ne Macke.

die Hilfe vom KILL Befehl zeigt an:
kill: Hilfe: kill [-s Signalname | -n Signalnummer | -Signalname] [pid | job] ... oder kill -l [Signalname]

Auch der KILL Befehl allein am Terminal tut schon nicht was ich will, es sollte:
 kill -s firefox
eigentlich den Browser beenden, tut aber nicht sondern immer nur Fehler Ausgabe:

kill -s firefox
bash: kill: firefox: Ungültige Signalbezeichnung.

kill -l firefox
bash: kill: firefox: Ungültige Signalbezeichnung.

kill -firefox
bash: kill: firefox: Ungültige Signalbezeichnung.

kill -"firefox"
bash: kill: firefox: Ungültige Signalbezeichnung.

Wie man sieht, gehen alle in der Hilfe angegebenen Parameter nicht.
Der KILL Befehl funktioniert also nur, wenn man die PID direkt eingibt.
Die Variable mit der PID oder die Datei mit der PID drin mit einer Umleitung
mit einem "<" als Parameter für den KILL Befehl zu nehmen, klappt auch nicht.

Wer hat eine Lösung für mich?
Besten Dank und besten Gruss, ANDY

Re: Bash Shell Skript funktioniert nicht, wer kann helfen?
« Antwort #1 am: 19.04.2021, 21:25:48 »
ps -A | grep "firefox" > $variable

variable=$(ps -A | grep "firefox")

Re: Bash Shell Skript funktioniert nicht, wer kann helfen?
« Antwort #2 am: 20.04.2021, 00:33:34 »
pkill firefox

Re: Bash Shell Skript funktioniert nicht, wer kann helfen?
« Antwort #3 am: 20.04.2021, 18:53:49 »
Das Abschießen mit "kill" sollte eigentlich als letzter Ausweg gedacht sein und könnte z.B. beim Neustart von Firefox den (bekannten) Hinweis
Zitat
Entschuldigung, beim Wiederherstellen Ihrer Seiten ist ein Problem aufgetreten
...
hervorrufen.

Ich würde
wmctrl -c firefoxbevorzugen (wmctrl muss ggf. aus den Quellen nachgezogen werden).

Re: Bash Shell Skript funktioniert nicht, wer kann helfen?
« Antwort #4 am: 21.04.2021, 12:12:26 »
Danke an alle, das hilft, besten Dank, ANDY