Архив рубрики «init»

ubuntu 9.10: прощай, init. привет, upstart

06.11.2009

Еще одно важное нововведение, которое тихой сапой появилось при агрейде системы до 9.10, стал новый демон upstart, который заменил собой старый, хорошо изученный SysV init.

Теперь запуск сервисов настраивается не через скрипты в /etc/init.d (хотя в целях обратной совместимости обвязка для их запуска имеется), а через конфигурационные файлы в /etc/init.

Вот, скажем, конфигурация для cron, /etc/init/cron.conf:

  1. # cron - regular background program processing daemon
  2. #
  3. # cron is a standard UNIX program that runs user-specified programs at
  4. # periodic scheduled times
  5.  
  6. description "regular background program processing daemon"
  7.  
  8. start on runlevel [2345]
  9. stop on runlevel [!2345]
  10.  
  11. expect fork
  12. respawn
  13.  
  14. exec cron
  15.  

Управление сервисами ('Jobs' в терминологии upstart) производится утилитой initctl:

  1. [email protected]:/etc/init$ sudo initctl stop cron
  2. cron stop/waiting
  3. [email protected]:/etc/init$ sudo initctl stop cron
  4. initctl: Unknown instance:
  5. [email protected]:/etc/init$ sudo initctl start cron
  6. cron start/running, process 13430
  7. [email protected]:/etc/init$ sudo initctl start cron
  8. initctl: Job is already running: cro

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