globox99 29 Zgłoś post Napisano Sierpień 14, 2015 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
Marek607 655 Zgłoś post Napisano Sierpień 14, 2015 screen -ls | grep "nazwa_screena" Udostępnij ten post Link to postu Udostępnij na innych stronach
Rolej 58 Zgłoś post Napisano Sierpień 14, 2015 (edytowany) 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: 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 Sierpień 14, 2015 przez Rolej (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Sierpień 14, 2015 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
globox99 29 Zgłoś post Napisano Sierpień 14, 2015 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: 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
Marek607 655 Zgłoś post Napisano Sierpień 14, 2015 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 1 Udostępnij ten post Link to postu Udostępnij na innych stronach
globox99 29 Zgłoś post Napisano Sierpień 14, 2015 (edytowany) 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 Sierpień 14, 2015 przez globox99 (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Sierpień 14, 2015 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