Wie kann ich prüfen, ob ein BESTIMMTER Screen Prozess läuft (Name) und dann ausgeben Ja/Nein?
Wie kann ich prüfen, ob ein BESTIMMTER Screen Prozess läuft (Name) und dann ausgeben Ja/Nein? (Linux) (Raspian) (Raspberry Pi) (Screen)
2 Antworten
Irgendetwas in der Art sollte funktionieren:
NAME="DEIN_SCREEN_NAME" if [[ -z `screen -ls | grep -P "\.${NAME}\t"` ]]; then echo "nein"; else echo "ja"; fi
Erklärung
screen -ls
zeigt dir alle laufenden screen sessions an.
grep -P "\.${NAME}\t"
übernimmt die ausgabe von screen und filtert.
Das -P braucht man, um \t als Tab zu erkennen.
Da screen -ls Ausgabe der Form:
2582.NAME (Attached)
Produziert, sucht grep nach genau dem. einen Punkt, deinen Screen-Namen und danach ein Tab.
Die
``
sorgen dafür, dass das Ergebnis von screen und grep nicht angezeigt wird, sondern für bash verfügbar ist.
Und dann nur noch ein if herum:
if [[ -z IRGENDEIN_TEXT ]];
then
# macht etwas, wenn IRGENDEIN_TEXT Länge 0 hat
else
# macht etwas, wenn IRGENDEIN_TEXT nicht Länge 0 hat
fi
Gruß
Tuxgamer
Du kannst das Linux auch fragen:
CTRL+Alt+T (Terminal öffnen wenn es geht)
ps -A | grep PROZESSNAME
z.B. suchen wir python3 hier kann man auch mysqld oder my (er zeigt dann auch alle Prozesse mit den Anfangsbuchstaben 'my' an)
ps -A | grep python3
1018 ? 00:05:46 python3