यहाँ मैं जिस डेबियन मशीन का उपयोग कर रहा हूँ उसका संस्करण विवरण है:
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:~#
अपना काम करने के लिए, मैं इस मशीन को रूट के रूप में लॉग करता हूं और इस कमांड को निष्पादित करता हूं :
/usr/java/jre1.8.0_131/bin/java -jar /usr/local/jenkins/jenkins.war
यह एप्लिकेशन एक वेब सर्वर चलाता है जिसे मैं फिर कहीं और से एक्सेस करता हूं।
मैंने एक नियमित, गैर-विशेषाधिकार प्राप्त "जेनकींस" उपयोगकर्ता बनाया है जिसके तहत इस खाते को चलाना है। जब मशीन बूट करता है, तो मैं ऊपर दिखाए गए कमांड को स्वचालित रूप से इस नए "जेनकींस" उपयोगकर्ता के रूप में चलाना चाहता हूं। इसी तरह, जब मशीन बंद हो जाती है, तो मैं चाहता हूं कि इस प्रक्रिया को इनायत से नीचे ले जाया जाए।
मुझे लगता है कि मैं जो कह रहा हूं वह यह है कि मैं चाहता हूं कि यह एप्लिकेशन सेवा के रूप में चले। (कृपया मुझे सही करें अगर मैं "सेवा" शब्द के उपयोग में ठीक नहीं हूं।)
मैं इसे कैसे पूरा कर सकता हूं?
अतिरिक्त जानकारी के बाद से पहले पोस्ट की गई जानकारी
मैं दोनों की और होता है 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 / प्रणाली निर्देशिका निर्देशिका का एक चक्रव्यूह है और निर्देशिकाओं के लिए लिंक है:
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
क्या यह राज्य मेरे डेबियन मशीन के उपयोग के स्टार्टअप तंत्र के बारे में कुछ अतिरिक्त करता है? इस निर्देशिका सामग्री को देखते हुए, क्या प्रस्तावित jenkins.service को सीधे / etc / systemd / system में रखना सही है, या क्या मुझे लिंक के इस पैटर्न का पता लगाने और इसे दोहराने का प्रयास करना चाहिए?