вот сведения о версии машины Debian, которую я использую:
root@my-host-name:~# cat /etc/debian_version
8.9
root@my-host-name:~# uname -a
Linux my-host-name 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26) x86_64 GNU/Linux
root@my-host-name:~#
для выполнения моей работы, я войти в эту машину как root и выполните следующую команду:
/usr/java/jre1.8.0_131/bin/java -jar /usr/local/jenkins/jenkins.war
Это приложение работает веб-сервер, который я затем доступ из других мест.
Я создал обычного, непривилегированного пользователя "jenkins", под которым можно запустить эту учетную запись. Когда машина загрузится, я хотел бы, чтобы команда, показанная выше, автоматически запускалась как этот новый пользователь "jenkins". Точно так же, когда машина выключена, я хотел бы, чтобы этот процесс был снят изящно.
Я полагаю, что я говорю, что я хочу, это приложение для запуска в качестве службы. (Пожалуйста, поправьте меня, если я не совсем правильно использую термин "услуга".)
как я могу это сделать?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ДОБАВЛЕНА ПОСЛЕ ПЕРВОГО ОТВЕТА ОПУБЛИКОВАНО
Я, кажется, как systemd и init.
root@my-host-name:~# ps -elf | grep system
4 S root 156 1 0 80 0 - 10379 - Jul31 ? 00:00:00 /lib/systemd/systemd-udevd
4 S root 157 1 0 80 0 - 7480 - Jul31 ? 00:00:00 /lib/systemd/systemd-journald
4 S root 420 1 0 80 0 - 7083 - Jul31 ? 00:00:00 /lib/systemd/systemd-logind
4 S message+ 422 1 0 80 0 - 10713 - Jul31 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
4 S Debian-+ 812 1 0 80 0 - 8914 - Jul31 ? 00:00:00 /lib/systemd/systemd --user
4 S root 993 1 0 80 0 - 6809 - Aug01 ? 00:00:00 /lib/systemd/systemd --user
0 R root 5305 4936 0 80 0 - 3182 - 02:51 pts/0 00:00:00 grep system
root@my-host-name:~# ps -elf | grep init
4 S root 1 0 0 80 0 - 44052 - Jul31 ? 00:00:01 /sbin/init
0 R root 5307 4936 0 80 0 - 3182 - 02:51 pts/0 00:00:00 grep init
будут ли они конфликтовать? Как они взаимодействуют между собой?
кроме того, мой каталог /etc/systemd/system представляет собой лабиринт каталогов и ссылок на каталоги:
root@my-host-name:/etc/systemd/system# ls -l
total 48
drwxr-xr-x 2 root root 4096 Apr 13 03:45 bluetooth.target.wants
lrwxrwxrwx 1 root root 37 Apr 13 03:45 dbus-org.bluez.service -> /lib/systemd/system/bluetooth.service
lrwxrwxrwx 1 root root 40 Apr 13 03:44 dbus-org.freedesktop.Avahi.service -> /lib/systemd/system/avahi-daemon.service
lrwxrwxrwx 1 root root 40 Apr 13 03:45 dbus-org.freedesktop.ModemManager1.service -> /lib/systemd/system/ModemManager.service
lrwxrwxrwx 1 root root 53 Apr 13 03:45 dbus-org.freedesktop.nm-dispatcher.service -> /lib/systemd/system/NetworkManager-dispatcher.service
lrwxrwxrwx 1 root root 32 Apr 13 03:45 display-manager.service -> /lib/systemd/system/gdm3.service
drwxr-xr-x 2 root root 4096 Apr 13 03:37 getty.target.wants
drwxr-xr-x 2 root root 4096 Apr 13 03:45 graphical.target.wants
drwxr-xr-x 2 root root 4096 Apr 13 03:37 halt.target.wants
drwxr-xr-x 2 root root 4096 Apr 13 03:45 hibernate.target.wants
drwxr-xr-x 2 root root 4096 Apr 13 03:45 hybrid-sleep.target.wants
drwxr-xr-x 2 root root 4096 Jul 13 09:21 multi-user.target.wants
drwxr-xr-x 2 root root 4096 Apr 13 03:37 paths.target.wants
drwxr-xr-x 2 root root 4096 Apr 13 03:37 poweroff.target.wants
drwxr-xr-x 2 root root 4096 Apr 13 03:37 reboot.target.wants
drwxr-xr-x 2 root root 4096 Apr 13 03:44 sockets.target.wants
lrwxrwxrwx 1 root root 31 Apr 13 03:45 sshd.service -> /lib/systemd/system/ssh.service
drwxr-xr-x 2 root root 4096 Apr 13 03:45 suspend.target.wants
lrwxrwxrwx 1 root root 35 Apr 13 03:37 syslog.service -> /lib/systemd/system/rsyslog.service
указывает ли это что-нибудь дополнительное о механизме запуска, который использует моя машина Debian? Учитывая это содержимое каталога, правильно ли все-таки ставить предлагаемый Дженкинс.непосредственно в /etc / systemd/ system, или я должен попытаться выяснить этот шаблон ссылок и попытаться воспроизвести его?