Как выполнить скрипт Python в фоновом режиме, если он еще не запущен? Пример использования для этого находится в cron.
Вы можете сделать что-то вроде этого:
#!/bin/bash
# count the number of processes that match "NameOfProcess" but
# exclude the grep process itself
pc=`ps -ef |grep "NameOfProcess" |grep -v grep |wc -l`
# if pc > 0, the process is already running and we can exit.
if [ $pc -gt 0 ] ; then
echo "Application is already running, exiting."
exit 0
fi
# othewise start the program
/path/to/program
Поместите это в crontab или начните с
nohup /path/to/script.sh &
nohup будет следить за тем, чтобы процесс не завершился, если вы выйдете из сеанса ssh. Альтернативой этому является screen
если вы хотите, чтобы скрипт запускался один раз при запуске и теоретически он оставался включенным, вам следует добавить его как службу в init.d с соответствующим установленным уровнем выполнения.
Конечно, если он упадет, вам захочется вернуться.
для этого вы можете запустить сценарий оболочки ps -aux | grep 'nameOfYourScript' вот так. Конечно, не включайте команду grep, которая также будет соответствовать lol. проверять этот сценарий каждые пять минут с помощью cron, подобного этому * / 5 * * * * user checkScript.sh
созданный вами checkScript может быть написан для запуска программы.