Запуск скрипта как сервис

Материал из ALT Linux Wiki
Версия от 16:32, 21 декабря 2023; Petr-akhlamov (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
48px-Mail-mark-junk red.svg.png
Эта статья конкретно протухла.
Статья уже не подходит под современные реалии, под современные версии Альта или сломана совсем. Возможно, её уже не доработать и не поместить в архив.


Часто бывает необходимо запустить какой-нибудь скрипт при загрузке системы, а также управлять им. Вот мой пример как я запускал скрипт.

Создадим файл с название crm, наполним его следующим содержанием:

       # !/bin/sh
       # chkconfig: - 98 02                        
       # description:  vtiger_con_asterisk
       # processname: crm
       # Source function library.
       if [ -f /etc/init.d/functions ] ; then
         . /etc/init.d/functions
       elif [ -f /etc/rc.d/init.d/functions ] ; then
         . /etc/rc.d/init.d/functions
       else
         exit 0
       fi
       KIND="НАЗВАНИЕ ВАШЕГО СЕРВИСА"
       start() {
               echo -n $"Starting $KIND services: "
               daemon /var/www/html/vtigercrm/cron/modules/PBXManager/AsteriskClient.php &
               
               echo
       }	
       stop() {
               echo -n $"Shutting down $KIND services: "
               killall AsteriskClient.php &
               killproc crm
               echo
       }	
       restart() {
                   echo -n $"Restarting $KIND services: "	
                      killall AsteriskClient.php &
                      killproc crm
                      daemon /var/www/html/vtigercrm/cron/modules/PBXManager/AsteriskClient.php &
                  echo
       }	
       case "$1" in
         start)
                 start
               ;;
         stop)
                 stop
               ;;
         restart)
                 restart
               ;;
         *)
               echo $"Usage: $0 {start|stop|restart}"
               exit 1
       esac
       exit $?

Именно такой формат подход для утилиты chkconfig. В самом начале файла есть строка

       # chkconfig: - 98 02                       

98 - это очередь запуска скрипта при включении системы. 02 - очередь останова при выключении системы.


затем созданный файл помещаем в паку:

       /etc/rc.d/init.d/

теперь нам нужно от рута добавить скрипт, как сервис, следующей командой:

       chkconfig --add crm

теперь у нас есть сервис с названием crm. Для того чтобы он запускался при включении системы, от рута вводим следующую команду:

       chkconfig crm on

Теперь сервис сrm работает как все остальные сервисы, и откликается на команды:

       service crm start
       service crm stop
       service crm restart