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