Мне нужно запустить процесс, когда наши linux/unix-боксы (эти боксы используются как агенты сборки) запускаются (т.е. после перезагрузки). Мы используем следующие дистрибутивы:
- дебиан 6
- ubuntu 12.что-то
- FreeBSD
- CentOS6
- Suse 12.что-то :)
Не могли бы вы подсказать, что мне нужно сделать, чтобы это произошло?
Спасибо, ф.
решение1
Самый простой способ — поместить команду в /etc/rc.d/rc.local. Скрипт rc.local запускается после того, как все остальные скрипты инициализации System V выполнены.
решение2
В целом, один и тот же процесс должен работать для всех этих дистрибутивов, но вам, возможно, придется подстроить его под конкретную реализацию.
Посмотрите на «уровни запуска», определите, на каком уровне вы хотите запускать свои скрипты (обычно 3 для сервера и 3 и 5 для графического клиента), а затем выполните следующее:
В двух словах, вы создаете свой скрипт запуска (лучше всего скопировать и изменить существующий - для примера назовите его "myScript") и помещаете его в /etc/init.d. Затем в /etc/init.d/rcX.d (где X - ваш уровень выполнения) помещаете ссылки на скрипт, который вы поместили в /etc/init.d. Ссылки должны называться SxxmyScript и KxxmyScript. Ссылки "S" переходят при запуске - т. е. когда системавходитэтот уровень выполнения, а ссылки «K» выполняются, когда система выходит из этого уровня выполнения.
Более поздние дистрибутивы используютуслугикоторые являются более элегантной вариацией вышеизложенного, но и то, и другое должно работать.
Также для полноты посмотрите /etc/inittab. Это не доступно во всех дистрибутивах (например, ubuntu), но должно быть в SuSE. Это настоящий возврат к старому, но он все еще очень часто используется в наши дни в старых средах.