Назад | Перейти на главную страницу

Сценарий оболочки, запускающий дочерние процессы

Отказ от ответственности: я новичок в написании сценариев оболочки, но у меня довольно большой опыт работы с другими языками, такими как PHP и Obj-C.

Я пишу свой первый демон-скрипт. Вот цели:

По сути, я ищу такое же поведение, которое, по-видимому, очень распространено среди программного обеспечения, такого как apache, spamd, dovecot и т. Д. Но, основываясь на моем исследовании, я не нашел ни одного простого ответа, как это что-то достигается.

Любая помощь приветствуется.

Вы найдете много очень хорошей информации, прочитав Управление процессом.

Также обратите внимание на существующие init.d сценарии и используйте их в качестве моделей при написании собственных. Имейте в виду, что некоторые из них могут быть улучшены. Поэтому старайтесь не приобретать вредных привычек.

Скорее всего, вы захотите писать свои сценарии в оболочке Bourne (sh), а не Bash, но вы можете многое узнать, что применимо к обоим, прочитав Часто задаваемые вопросы по Bash и Башенные ловушки.

Вот шаги.

  • Допустим, ваш скрипт / opt / path / test. Убедитесь, что его исполняемый файл

  • Убедитесь, что следующий набор строк находится в верхней части сценария сразу после "#! / Bin / bash"

    Для RedHat и кузенов:

    chkconfig: - Номер последовательности и уровень, с которого вы хотите начать «Например: - 91 35»

    description: Описание вашего процесса DAEMON

    имя процесса: ИМЯ ДАЕМОНА

  • Взгляните на образец сценария в пути /etc/init.d и попробуйте имитировать процесс запуска / остановки / перезапуска ... [БОЛЬШОЙ ШАГ .. не вдаваясь в подробности]

  • Заканчивайте "&", чтобы скрипт запускался в фоновом режиме.

    Например: - "/ opt / path / test &"

  • Скопируйте сценарий в папку /etc/init.d

  • Нет, chkconfig

    chkconfig - добавить тест

    chkconfig тест на

  • Проверки

    chkconfig --list | grep test

  • Сделайте /etc/init.d/test stop / start / restart .. убедитесь, что ваш процесс запущен.