Wpis z mikrobloga

Mam crontaba, który co minutę powinien sprawdzać, czy proces phantomjs jest uruchomiony, i jeśli nie jest, uruchamiać go:

* * * * * pgrep phantomjs > /dev/null || phantomjs
Problem w tym, że ten debil uruchamia mi co minutę nowy proces, nie zważając na to, że jest uruchomionych 10 klonów :/

Co robię źle?

#linux #komputery #serwery #crontab #ssh
  • 16
@LaCroix:
pgrep phantomjs:

2023
1845
3542
3454

ps ax:
2021 ? Ss 0:00 /bin/sh -c pgrep phantomjs > /dev/null/ || phantomjs --proxy=118.97.95.182:8080 --disk-cache=true --web-security=false --load-images
2023 ? Sl 0:09 phantomjs --proxy=118.97.95.182:8080 --disk-cache=true --web-security=false --load-images=false --cookies-file=/home/ja/pb-d
@kot1401: powinieneś w ogóle zrobić phantomjs.sh w którym na początku jest próba lock na jakimś pliku semaforze i sam skrypt phantomjs.sh dba o to, żeby nie uruchomić klona!
@MlodyWilk: Juz rozumiem ocb:

jak zrobisz:
~$ sh -c pgrep phantomjs <- to wykona sie pgrep a nie pgrep phantomjs

musi byc sh -c 'pgrep phantomjs'

wiec zawsze jest nieprawdziwe i zawsze odpala sie phantomjs