Skocz do zawartości
Zaloguj się, aby obserwować  
globox99

Sprawdzanie czy screen jest odpalony

Polecane posty

Witam, mam problem. Jaką komendą mogę sprawdzić czy screen o nazwie "test" jest odpalony?

Chcę zrobić taki oto skrypcik (wersja demonstaracyjna)

if screen "test" exists:

echo "ODPALONY"

else:

echo "NIE DZIAŁA"

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ymmm. Nie wiem czy dobrze zrozumiałem twoje intencje. Ale.

 

root@vs1:/# screen -dmS test
root@vs1:/# screen -list
There is a screen on:
        22652.test      (08/14/15 15:17:26)     (Detached)
1 Socket in /var/run/screen/S-root.

root@vs1:/#
Stworzyłem na szybko screena "test" (w nim nic się nie dzieje, żeby nie było). Później wylistowałem wszystkie screeny jakie mam uruchomione. Wszystko możesz wyczytać w pod man screen. Dodatkowo:

 

1WRQxrP.png

 

W htopie możesz podejrzeć co masz screenie. Dodatkowo jak dobrze pamiętam pod tym (u mnie pod bezpośrednio pod bo mam "Tree view") mam wyświetlone co jest uruchomione (czy ./*sh czy co).

 

@edit - @Marek607 mnie uprzedił nieco uprzedził ;)

Edytowano przez Rolej (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze
screen -list | grep nazwa-screena | cut -d . -f1

wywali ci od razu PID screena, jeżeli nie ma nic nie wyświetli.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
screen -list | grep nazwa-screena | cut -d . -f1

wywali ci od razu PID screena, jeżeli nie ma nic nie wyświetli.

 

 

 

Ymmm. Nie wiem czy dobrze zrozumiałem twoje intencje. Ale.

 

root@vs1:/# screen -dmS test
root@vs1:/# screen -list
There is a screen on:
        22652.test      (08/14/15 15:17:26)     (Detached)
1 Socket in /var/run/screen/S-root.

root@vs1:/#
Stworzyłem na szybko screena "test" (w nim nic się nie dzieje, żeby nie było). Później wylistowałem wszystkie screeny jakie mam uruchomione. Wszystko możesz wyczytać w pod man screen. Dodatkowo:

 

1WRQxrP.png

 

W htopie możesz podejrzeć co masz screenie. Dodatkowo jak dobrze pamiętam pod tym (u mnie pod bezpośrednio pod bo mam "Tree view") mam wyświetlone co jest uruchomione (czy ./*sh czy co).

 

@edit - @Marek607 mnie uprzedił nieco uprzedził ;)

 

 

 

screen -ls | grep "nazwa_screena"

Wszystkie wasze odpowiedzi są właściwe ale niestety nie wiem jak ich użyć w skrypcie (demonstracyjnym), który podałem wyżej.

 

komenda screen -ls | grep "nazwa_screena" pokazuje mi screena ale jak wykorzystać to aby robiło odpowiednia akcję jeśli ten screen jest a inną jeśli go nie ma?

 

Przykład

 

if screen -ls | grep "nazwa_screena" is true:

echo "Cos tam"

else:

echo "costam innego"

 

Dziękuję z góry za odp.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach


marek@marek:~$ cat scen
#!/bin/bash
screen=`screen -ls | grep "testowy" | wc -l`
if [ $screen -ge 1 ]; then
echo "jest screen";
else
echo "nie ma screena";
fi
marek@marek:~$ screen -ls
There is a screen on:
18141.testowy (14.08.2015 20:34:32) (Detached)
1 Socket in /var/run/screen/S-marek.

marek@marek:~$ sh scen
jest screen
marek@marek:~$


PORÓWNANIA LICZBOWE
-gt: większy od
-lt: mniejszy od
-ge: większy, równy od
-le: mniejszy, równy od
-eq: równy
-ne: różny od

 

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  marek@marek:~$ cat scen 
#!/bin/bash
screen=`screen -ls | grep "testowy" | wc -l`
if [ $screen -ge 1 ]; then
echo "jest screen";
else
echo "nie ma screena";
fi
marek@marek:~$ screen -ls
There is a screen on:
	18141.testowy	(14.08.2015 20:34:32)	(Detached)
1 Socket in /var/run/screen/S-marek.

marek@marek:~$ sh scen
jest screen
marek@marek:~$ 

PORÓWNANIA LICZBOWE
-gt: większy od
-lt: mniejszy od
-ge: większy, równy od
-le: mniejszy, równy od
-eq: równy
-ne: różny od

 

 

Problem w tym, że nawet jeśli screena nie ma to i tak wywala że jest ;/

 

EDIT:

Poprawiłem troszkę i działa

 

"if [ $screen -eq 2 ]; then"

Edytowano przez globox99 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Jak użyć przy Twoim skrypcie nie wiem, ja tej komendy używam skrypcie stopu / restarcie serwerów CS :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×