Скорее всего, вы используете systemd в качестве системы inint. Чтобы настроить свой сервис, вам нужно создать необходимый файл модуля, например /etc/systemd/system/jenkins.service
.
[Unit] Description=Jenkins After=network.target [Service] Type=simple ExecStart=/usr/java/jre1.8.0_131/bin/java -jar /usr/local/jenkins/jenkins.war User=jenkins [Install] WantedBy=multi-user.target
Чтобы загрузить сервис для запуска при загрузке, запустите systemctl daemon-reload
. systemctl start jenkins.service
запускает службу из командной строки. Для полной документации см. Справочные страницы . На домашней странице Systemd также есть много материала для дальнейшего изучения.
В случае, если вы используете SysV стиль инициализации, вам нужно написать сценарий инициализации, который начинает свой демон в /etc/init.d/
, например /etc/init.d/jenkins
(и пометить его исполняемым).
#!/bin/sh ### BEGIN INIT INFO # Provides: jenkins # Default-Start: 2 3 4 5 # Default-Stop: 1 ### END INIT INFO EXEC="/usr/java/jre1.8.0_131/bin/java" ARGS="-jar /usr/local/jenkins/jenkins.war" USER="jenkins" PIDFILE="/run/jenkins.pid" . /lib/lsb/init-functions case "$1" in start) start-stop-daemon --start --background --chuid $USER \ --make-pidfile --pidfile $PIDFILE --exec $EXEC -- $ARGS ;; stop) start-stop-daemon --stop --pidfile $PIDFILE --exec $EXEC ;; *) echo "Usage: /etc/init.d/jenkins " exit 1 ;; esac exit 0
Обратите внимание, что вы должны разветвить свой сервис в вашем скрипте инициализации, иначе ваш скрипт не завершится, в этом примере start-stop-daemon выполняет forking ( --background
) и меняет user ( --chuid
). Чтобы изучить, как другие сервисы запускаются в вашей системе с использованием скриптов инициализации, вы можете изучить файлы в /etc/init.d/
.
Чтобы включить службу во время загрузки, запустите update-rc.d jenkins enable
. Для запуска сервиса запустите ваш новый скрипт /etc/init.d/jenkins start
.
Совместимые с LSB сценарии инициализации также совместимы с системой обратно. Не забудьте исходный код /lib/lsb/init-functions
для systemctl для прозрачной работы при непосредственном выполнении сценария.
Вики Debian для LSBInitScripts содержит более подробную информацию о доступных опциях, таких как запуск службы после / до другой службы.