From 170ea1e86acf0eccfebbd9800d4a4a359fee2681 Mon Sep 17 00:00:00 2001 From: huty Date: Fri, 14 Jun 2024 14:12:00 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0systemd.service=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- description/description.service | 8 ++++---- examples/nginx.service | 11 ++++++----- examples/rclone.service | 4 +++- examples/redis.service | 5 +++-- examples/tomcat.service | 5 +++-- 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/description/description.service b/description/description.service index d267f03..073c628 100644 --- a/description/description.service +++ b/description/description.service @@ -25,10 +25,12 @@ Assert=i.target [Service] ## 当前 Service 的类型,可选值:simple:启动主进程(默认);forking:启动子进程;oneshot:一次性进程;dbus:D-Bus进程;notify:当前Service启动后会通知Systemd;idle:当其他任务执行完毕后,当前Service才会启动 Type=forking -## 启动 Service 的命令 -ExecStart= +## 指定环境变量 +Environment= ## 启动当前 Service 之前执行的命令 ExecStartPre= +## 启动 Service 的命令 +ExecStart= ## 启动当前 Service 之后执行的命令 ExecStartPost= ## 重启当前 Service 的命令 @@ -43,8 +45,6 @@ RestartSec= Restart= ## 停止当前 Service 之前等待的秒数 TimeoutSec= -## 指定环境变量 -Environment= # 定义如何启动,以及是否开机启动 [Install] diff --git a/examples/nginx.service b/examples/nginx.service index ba3e141..066bab0 100644 --- a/examples/nginx.service +++ b/examples/nginx.service @@ -1,15 +1,16 @@ [Unit] -Description=nginx -After=network.target +Description=Nginx +Documentation=https://nginx.org +After=network-online.target firewalld.service +Wants=network-online.target [Service] Type=forking +Group=root User=root ExecStart=/opt/nginx/1.26.0/sbin/nginx -ExecReload=/opt/nginx/1.26.0/sbin/nginx -s reload -ExecStop=/opt/nginx/1.26.0/sbin/nginx -s stop -PrivateTmp=true Restart=always +PrivateTmp=true [Install] WantedBy=multi-user.target diff --git a/examples/rclone.service b/examples/rclone.service index cfdb008..16f7751 100644 --- a/examples/rclone.service +++ b/examples/rclone.service @@ -6,10 +6,12 @@ Wants=network-online.target [Service] Type=forking +Group=root +User=root ExecStart=/opt/rclone/rclone mount onedrive:/demo /onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --vfs-cache-mode writes -ExecReload=/bin/kill -SIGHUP $MAINPID ExecStop=umount /onedrive Restart=always +PrivateTmp=true TimeoutStartSec=infinity [Install] diff --git a/examples/redis.service b/examples/redis.service index 7069d8c..52994f4 100644 --- a/examples/redis.service +++ b/examples/redis.service @@ -6,10 +6,11 @@ Wants=network-online.target [Service] Type=forking +Group=root +User=root ExecStart=/opt/redis/bin/redis-server /opt/redis/redis.conf -ExecReload=kill -9 $(ps aux | grep /opt/redis/bin/redis-server | grep -v grep | awk '{print $2}' | tr -d ' ') & /opt/redis/bin/redis-server /opt/redis/redis.conf -ExecStop=kill -9 $(ps aux | grep /opt/redis/bin/redis-server | grep -v grep | awk '{print $2}' | tr -d ' ') Restart=always +PrivateTmp=true [Install] WantedBy=multi-user.target diff --git a/examples/tomcat.service b/examples/tomcat.service index 8b8280f..5dc0172 100644 --- a/examples/tomcat.service +++ b/examples/tomcat.service @@ -6,10 +6,11 @@ Wants=network-online.target [Service] Type=forking +Group=root +User=root ExecStart=/opt/tomcat/apache-tomcat-9.0.89/bin/startup.sh -ExecReload=/opt/tomcat/apache-tomcat-9.0.89/bin/shutdown.sh & kill -9 $(ps aux | grep /opt/toomcat/apache-tomcat-9.0.89 | grep -v grep | awk '{print $2}' | tr -d ' ') & /opt/tomcat/apache-tomcat-9.0.89/bin/startup.sh -ExecStop=/opt/tomcat/apache-tomcat-9.0.89/bin/shutdown.sh Restart=always +PrivateTmp=true [Install] WantedBy=multi-user.target