1

Возможный дубликат:
Программы при запуске в Linux

У меня есть машина Linux, на которой постоянно запущена программа, если отключается питание, программа не будет перезапущена, пока я не открою сессию SSH и не наберу "./GPIOServer.sh "Это на всякий случай, если я потеряю питание машины, и я хочу, чтобы программа автоматически запускалась при запуске.

Спасибо!

2 ответа2

1

Какую версию ОС вы используете?

В зависимости от того, что это у вас есть по существу 2 варианта:

/etc/rc.local

Вы можете добавить исполняемый файл в файл rc.local, который находится здесь на дистрибутивах Redhat: /etc/rc.local . Вы можете просто добавить ./GPIOServer.sh до конца этого файла.

/etc/init.d/

Если вы хотите, чтобы это был сервис, вам нужно добавить скрипт, аналогичный приведенному в /etc/init.d/ . Опять же на дистрибутивах на основе Redhat есть инструмент для управления этими скриптами, который называется chkconfig . Для получения дополнительной информации обратитесь к странице руководства, а также к другим сценариям в /etc/init.d чтобы узнать, как к этому подойти.

Вот пример, чтобы вы начали:

#! /bin/sh
# Basic support for IRIX style chkconfig
###
# chkconfig: 235 98 55
# description: Manages the services you are controlling with the chkconfig command
###

case "$1" in
  start)
        echo -n "Starting new-service"
        #To run it as root:
        /path/to/command/to/start/new-service
        #Or to run it as some other user:
        /bin/su - username -c /path/to/command/to/start/new-service
        echo "."
        ;;
  stop)
        echo -n "Stopping new-service"
        #To run it as root:
        /path/to/command/to/stop/new-service
        #Or to run it as some other user:
        /bin/su - username -c /path/to/command/to/stop/new-service
        echo "."
        ;;

  *)
        echo "Usage: /sbin/service new-service {start|stop}"
        exit 1
esac

exit 0
0

При использовании raspberry-pi самым простым способом было бы добавить строку с полным путем вашего скрипта в файл /etc/rc.local .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .