linux服务开机自启动
systemd服务方式
服务脚本
gb@gb:/etc$ su root
Password:
root@gb:/etc# cd /etc/systemd/system
root@gb:/etc/systemd/system# ls -tlr
total 64
drwxr-xr-x 2 root root 4096 Sep 15 2021 getty.target.wants
lrwxrwxrwx 1 root root 44 Sep 15 2021 dbus-org.freedesktop.resolve1.service -> /lib/systemd/system/systemd-resolved.service
lrwxrwxrwx 1 root root 35 Sep 15 2021 syslog.service -> /lib/systemd/system/rsyslog.service
lrwxrwxrwx 1 root root 38 Sep 15 2021 iscsi.service -> /lib/systemd/system/open-iscsi.service
drwxr-xr-x 2 root root 4096 Sep 15 2021 graphical.target.wants
lrwxrwxrwx 1 root root 41 Sep 15 2021 vmtoolsd.service -> /lib/systemd/system/open-vm-tools.service
drwxr-xr-x 2 root root 4096 Sep 15 2021 open-vm-tools.service.requires
drwxr-xr-x 2 root root 4096 Sep 15 2021 paths.target.wants
drwxr-xr-x 2 root root 4096 Sep 15 2021 timers.target.wants
drwxr-xr-x 2 root root 4096 Sep 15 2021 cloud-final.service.wants
drwxr-xr-x 2 root root 4096 Sep 15 2021 final.target.wants
drwxr-xr-x 2 root root 4096 Sep 15 2021 sysinit.target.wants
drwxr-xr-x 2 root root 4096 Sep 15 2021 sockets.target.wants
drwxr-xr-x 2 root root 4096 Sep 15 2021 network-online.target.wants
lrwxrwxrwx 1 root root 36 Jun 29 02:02 dbus-org.freedesktop.thermald.service -> /lib/systemd/system/thermald.service
lrwxrwxrwx 1 root root 31 Jun 29 02:03 sshd.service -> /lib/systemd/system/ssh.service
drwxr-xr-x 2 root root 4096 Jun 29 02:06 sshd-keygen@.service.d
drwxr-xr-x 2 root root 4096 Jun 29 02:06 cloud-init.target.wants
-rw-rw-r-- 1 gb gb 149 Jun 29 02:23 jzd_drv.service
-rw-r--r-- 1 root root 222 Jul 30 03:34 gb_usbdevicemgr.service
drwxr-xr-x 2 root root 4096 Jul 30 03:34 default.target.wants
drwxr-xr-x 2 root root 4096 Jul 30 03:34 multi-user.target.wants
root@gb:/etc/systemd/system# vim gb_usbdevicemgr.service
[Unit]
Description=My Service
After=network.target
[Service]
ExecStart=/home/gb/USB-Device-Mgr/USB-Device-Mgr/bin/run.sh
WorkingDirectory=/home/gb/USB-Device-Mgr/USB-Device-Mgr/bin/
[Install]
WantedBy=multi-user.target
启动服务
root@gb:/etc/systemd/system#
root@gb:/etc/systemd/system# systemctl enable gb_usbdevicemgr.service
Created symlink /etc/systemd/system/multi-user.target.wants/gb_usbdevicemgr.service → /etc/systemd/system/gb_usbdevicemgr.service.
root@gb:/etc/systemd/system# systemctl start gb_usbdevicemgr.service
root@gb:/etc/systemd/system# ps -ef |grep USB-Device-Mgr
root 3558 1 0 03:56 ? 00:00:00 /bin/bash /home/gb/USB-Device-Mgr/USB-Device-Mgr/bin/run.sh
root 3567 3558 0 03:56 ? 00:00:00 ./USB-Device-Mgr
root 3654 3124 0 03:56 pts/0 00:00:00 grep --color=auto USB-Device-Mgr
root@gb:/etc/systemd/system#
查看服务
root@gb:/etc/systemd/system# systemctl status gb_usbdevicemgr.service
● gb_usbdevicemgr.service - My Service
Loaded: loaded (/etc/systemd/system/gb_usbdevicemgr.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2024-07-30 08:20:04 UTC; 39min ago
Main PID: 1105 (run.sh)
Tasks: 58 (limit: 4915)
CGroup: /system.slice/gb_usbdevicemgr.service
├─1105 /bin/bash /home/gb/USB-Device-Mgr/USB-Device-Mgr/bin/run.sh
├─1905 ./USB-Device-Mgr
└─17132 sleep 5
Jul 30 08:20:04 gb systemd[1]: Started My Service.
Jul 30 08:20:04 gb run.sh[1105]: Start USB-Device-Mgr ...
root@gb:/etc/systemd/system#
停止服务
root@gb:/etc/systemd/system# ps -ef |grep USB-Device-Mgr
root 1105 1 0 04:32 ? 00:00:00 /bin/bash /home/gb/USB-Device-Mgr/USB-Device-Mgr/bin/run.sh
root 1905 1105 0 04:34 ? 00:00:00 ./USB-Device-Mgr
root 1967 1753 0 04:34 pts/0 00:00:00 grep --color=auto USB-Device-Mgr
root@gb:/etc/systemd/system# systemctl stop gb_usbdevicemgr.service
root@gb:/etc/systemd/system# ps -ef |grep USB-Device-Mgr
root 2124 1753 0 04:35 pts/0 00:00:00 grep --color=auto USB-Device-Mgr
root@gb:/etc/systemd/system#
注:stop服务时,不但停止run.sh,还会将run.sh拉起来的USB-Device-Mgr停掉
查看服务日志
root@gb:/etc/systemd/system# journalctl -u gb_usbdevicemgr.service
-- Logs begin at Wed 2024-05-22 13:06:37 UTC, end at Wed 2024-07-31 07:44:21 UTC. --
Jul 30 07:28:37 gb systemd[1]: Started My Service.
Jul 30 07:30:06 gb systemd[1]: Stopping My Service...
Jul 30 07:30:06 gb systemd[1]: Stopped My Service.
Jul 30 07:32:19 gb systemd[1]: Started My Service.
Jul 30 07:32:19 gb run.sh[9490]: Start USB-Device-Mgr ...
Jul 30 07:47:08 gb systemd[1]: Stopping My Service...
Jul 30 07:47:08 gb systemd[1]: Stopped My Service.
Jul 30 08:20:04 gb systemd[1]: Started My Service.
Jul 30 08:20:04 gb run.sh[12320]: Start USB-Device-Mgr ...
参考文献:
Linux 应用开机自启 详解_linux 开机自启动-CSDN博客
Linux 设置开机自启动_linux_mayue_csdn-GitCode 开源社区