3

Я написал Perl-скрипт, который будет служить демоном, поэтому я бы хотел, чтобы ОС (в моем случае, Ubuntu Linux) автоматически запускала мой Perl-скрипт после его загрузки.

Как я могу это сделать?

2 ответа2

3

Создайте оболочку для сценария оболочки

#!/bin/sh - script.sh
# your perl program goes here

/bin/perl /path/to/foobar.pl

Убедитесь, что вы дали разрешение на выполнение с помощью

  chmod +x script.sh

и выполните следующее,

sudo update-rc.d script.sh defaults

Это будет запускать Perl-скрипт при каждом запуске.

0

Вещи немного изменились за последние 7 лет. В Ubuntu 16.04 путь к Perl другой. Кроме того, вам необходимо предоставить кучу информации о конфигурации в вашем скрипте /etc/init.d/foobar.sh:

#!/bin/sh foobar.sh
### BEGIN INIT INFO
# Provides:          foobar
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: forbarsvr
# Description:       foobar daemon for widget serving
### END INIT INFO
sudo -u foobarusr perl /path/to/foobar.pl &

Эта форма вызова perl позволяет вам работать как пользователь (предоставляя ограниченный домен безопасности), а не как root; для запуска с правами root удалите -u foobarusr . Если вы работаете как пользователь без полномочий root, убедитесь, что у пользователя есть разрешения на все необходимые ресурсы, такие как сам скрипт perl.

Трейлинг & запускает ваш Perl-скрипт как текущее (до завершения) задание; как у дэймона, если он не заканчивается по какой-либо причине.

Сделайте ваш исполняемый файл Foobar Launcher:

sudo chmod +x /etc/init.d/foobar.sh

Добавьте ваш скрипт в последовательность запуска:

sudo update-rc.d foobar.sh defaults

Обратите внимание, что путь к сценарию не указан.

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