poniedziałek, 21 listopada 2016

Debian - Jak automatycznie uruchamiać i wyłączać procesy w screen

Witajcie. Dzisiaj pokażę wam w jaki sposób automatycznie wywoływać jakiś proces co godzinę który będzie działał w tle.

Pierwsze co musimy zrobić to napisać skrypt który będzie nam uruchamiał daną aplikację w powłoce screena i zostawiał ją włączoną w tle.

Tworzymy nasz skrypt:
nano /home/ts3/iHelp

Poniższe polecenie uruchomi nam program iHelp w oknie o takim samym tytule.
screen -AmdS iHelp mono iHelp.exe localhost 10011 serveradmin password 1 0

Drugie co trzeba zrobić to dodać skrypt który będzie nam sprawdzać czy nasze okno jest aktywne i jaki ma PID procesu. Następnie zabija nasz proces.
PROCESS=$(screen -ls |grep iHelp) 
kill $(echo $PROCESS |cut -f1 -d'.')

Gotowy skrypt:
PROCESS=$(screen -ls |grep iHelp) 
kill $(echo $PROCESS |cut -f1 -d'.')
cd /home/ts3/iHelp
screen -AmdS iHelp mono iHelp.exe localhost 10011 serveradmin password 1 0

Teraz dodajemy w cronie wpis mówiący aby nasz skrypt uruchamiał się co godzinę:
crontab -e

Oraz dodajemy wpis:

  0 * * * * /home/ts3/iHelp/iHelp

Zapisujemy Ctrl+O, Ctrl+X
Restartujemy crona:
service cron restart

Dla pewności sprawdzamy czyt zmienia się nasz ID procesu co godzinę:
Rysunek 1 - Podgląd screena o pełnej godzinie

Mam nadzieję że ten szybki poradnik pomógł. Jeżeli macie jakieś sugestie to piszcie w komentarzach.



Brak komentarzy:

Prześlij komentarz