Скрипт автозапуска python init.d после перезагрузки (Centos)

Есть какой-нибудь скрипт для автозапуска python script после перезагрузки (centos).

Я пробовал этот код, но он не работает

#! /bin/sh
# chkconfig: 2345 95 20
# description: almagest
# What your script does (not sure if this is necessary though)
# processname: www-almagest
# /etc/init.d/www-almagest start

case "$1" in
  start)
    echo "Starting almagest"
    # run application you want to start
    python ~almagest_clinic/app.py &> /dev/null &
    ;;
  stop)
    echo "Stopping example"
    # kill application you want to stop
    kill -9 $(sudo lsof -t -i:8002)
    ;;
  *)
    echo "Usage: /etc/init.d/www-private{start|stop}"
    exit 1
    ;;
esac

exit 0

скрипт chkconfig включен


person Tima Ospanov    schedule 10.03.2014    source источник
comment
Я нашел решение github.com/frdmn/service-daemons/blob/master/centos с абсолютным путем у меня работает   -  person Tima Ospanov    schedule 12.03.2014


Ответы (2)


Я нашел решение https://github.com/frdmn/service-daemons/blob/master/centos с абсолютным путем у меня работает

person Tima Ospanov    schedule 12.03.2014

Процесс инициализации выполняется от имени пользователя root, и у вас есть относительный путь

python $HOME/almagest_clinic/app.py &> /dev/null & 

в вашем сценарии.

Пользователь root может не видеть этот путь. Я бы предложил изменить этот путь на абсолютный путь

person Garreth McDaid    schedule 10.03.2014
comment
Спасибо за ответ! Скрипт правильно запускает и останавливает процесс Python. Но после перезагрузки не запускается - person Tima Ospanov; 10.03.2014
comment
Я бы все равно проверил с абсолютным путем. Также может быть так, что скрипту Python требуется что-то, что еще не запущено. Я вижу, вы изменили порядок chkconfig на 95, но, возможно, еще слишком рано. Отправьте STDOUT из python в файл журнала, который вы можете прочитать после загрузки. - person Garreth McDaid; 10.03.2014