From 5ebae417f192e4d582cb0aaf9e6f04424097a79b Mon Sep 17 00:00:00 2001 From: hitsword Date: Thu, 5 Mar 2020 21:35:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: hitsword --- systemctl/service/udp2raw-client@.service | 27 ++++++++---------- systemctl/service/udp2raw-server@.service | 27 ++++++++---------- systemctl/service/udpspeeder-client@.service | 27 ++++++++---------- systemctl/service/udpspeeder-server@.service | 29 +++++++++----------- udptools.sh | 5 ++-- 5 files changed, 52 insertions(+), 63 deletions(-) diff --git a/systemctl/service/udp2raw-client@.service b/systemctl/service/udp2raw-client@.service index 3e77789..466af4f 100644 --- a/systemctl/service/udp2raw-client@.service +++ b/systemctl/service/udp2raw-client@.service @@ -1,18 +1,15 @@ -[Unit] # 主要是服务说明 -Description=Udp2RawClient - %i # 简单描述服务 -After=network.target # 描述服务类别,表示本服务需要在network服务启动后在启动 -Before= # 表示需要在某些服务启动之前启动,After和Before字段只涉及启动顺序,不涉及依赖关系。 +[Unit] +Description=Udp2RawClient - %i +After=network.target -[Service] # 核心区域 -Type=forking # 表示后台运行模式。 -User=root # 设置服务运行的用户 -Group=root # 设置服务运行的用户组 -KillMode=control-group # 定义systemd如何停止服务 -PIDFile=/usr/local/udptools/pid/udp2raw-c%i.pid # 存放PID的绝对路径 -Restart=no # 定义服务进程退出后,systemd的重启方式,默认是不重启 -ExecStart=/usr/local/udptools/udp2raw-c%i.sh start # 服务启动命令,命令需要绝对路径 -ExecStop=/usr/local/udptools/udp2raw-c%i.sh stop # 服务停止命令,命令需要绝对路径 -PrivateTmp=true # 表示给服务分配独立的临时空间 +[Service] +Type=forking +KillMode=process +PIDFile=/usr/local/udptools/pid/udp2raw-c%i.pid +Restart=no +ExecStart=/usr/local/udptools/udp2raw-c%i.sh start +ExecStop=/usr/local/udptools/udp2raw-c%i.sh stop +PrivateTmp=true [Install] -WantedBy=multi-user.target # 多用户 \ No newline at end of file +WantedBy=multi-user.target \ No newline at end of file diff --git a/systemctl/service/udp2raw-server@.service b/systemctl/service/udp2raw-server@.service index 7a6cfee..40b5a52 100644 --- a/systemctl/service/udp2raw-server@.service +++ b/systemctl/service/udp2raw-server@.service @@ -1,18 +1,15 @@ -[Unit] # 主要是服务说明 -Description=Udp2RawServer - %i # 简单描述服务 -After=network.target # 描述服务类别,表示本服务需要在network服务启动后在启动 -Before= # 表示需要在某些服务启动之前启动,After和Before字段只涉及启动顺序,不涉及依赖关系。 +[Unit] +Description=Udp2RawServer - %i +After=network.target -[Service] # 核心区域 -Type=forking # 表示后台运行模式。 -User=root # 设置服务运行的用户 -Group=root # 设置服务运行的用户组 -KillMode=control-group # 定义systemd如何停止服务 -PIDFile=/usr/local/udptools/pid/udp2raw-s%i.pid # 存放PID的绝对路径 -Restart=no # 定义服务进程退出后,systemd的重启方式,默认是不重启 -ExecStart=/usr/local/udptools/udp2raw-s%i.sh start # 服务启动命令,命令需要绝对路径 -ExecStop=/usr/local/udptools/udp2raw-s%i.sh stop # 服务停止命令,命令需要绝对路径 -PrivateTmp=true # 表示给服务分配独立的临时空间 +[Service] +Type=forking +KillMode=process +PIDFile=/usr/local/udptools/pid/udp2raw-s%i.pid +Restart=no +ExecStart=/usr/local/udptools/udp2raw-s%i.sh start +ExecStop=/usr/local/udptools/udp2raw-s%i.sh stop +PrivateTmp=true [Install] -WantedBy=multi-user.target # 多用户 \ No newline at end of file +WantedBy=multi-user.target \ No newline at end of file diff --git a/systemctl/service/udpspeeder-client@.service b/systemctl/service/udpspeeder-client@.service index c9a436f..dcd54eb 100644 --- a/systemctl/service/udpspeeder-client@.service +++ b/systemctl/service/udpspeeder-client@.service @@ -1,18 +1,15 @@ -[Unit] # 主要是服务说明 -Description=UdpSpeederClient - %i # 简单描述服务 -After=network.target # 描述服务类别,表示本服务需要在network服务启动后在启动 -Before= # 表示需要在某些服务启动之前启动,After和Before字段只涉及启动顺序,不涉及依赖关系。 +[Unit] +Description=UdpSpeederClient - %i +After=network.target -[Service] # 核心区域 -Type=forking # 表示后台运行模式。 -User=root # 设置服务运行的用户 -Group=root # 设置服务运行的用户组 -KillMode=control-group # 定义systemd如何停止服务 -PIDFile=/usr/local/udptools/pid/udpspeeder-c%i.pid # 存放PID的绝对路径 -Restart=no # 定义服务进程退出后,systemd的重启方式,默认是不重启 -ExecStart=/usr/local/udptools/udpspeeder-c%i.sh start # 服务启动命令,命令需要绝对路径 -ExecStop=/usr/local/udptools/udpspeeder-c%i.sh stop # 服务停止命令,命令需要绝对路径 -PrivateTmp=true # 表示给服务分配独立的临时空间 +[Service] +Type=forking +KillMode=process +PIDFile=/usr/local/udptools/pid/udpspeeder-c%i.pid +Restart=no +ExecStart=/usr/local/udptools/udpspeeder-c%i.sh start +ExecStop=/usr/local/udptools/udpspeeder-c%i.sh stop +PrivateTmp=true [Install] -WantedBy=multi-user.target # 多用户 \ No newline at end of file +WantedBy=multi-user.target \ No newline at end of file diff --git a/systemctl/service/udpspeeder-server@.service b/systemctl/service/udpspeeder-server@.service index 7a4ef67..cf09e91 100644 --- a/systemctl/service/udpspeeder-server@.service +++ b/systemctl/service/udpspeeder-server@.service @@ -1,18 +1,15 @@ -[Unit] # 主要是服务说明 -Description=UdpSpeederServer - %i # 简单描述服务 -After=network.target # 描述服务类别,表示本服务需要在network服务启动后在启动 -Before= # 表示需要在某些服务启动之前启动,After和Before字段只涉及启动顺序,不涉及依赖关系。 +[Unit] +Description=UdpSpeederServer - %i +After=network.target + +[Service] +Type=forking +KillMode=process +PIDFile=/usr/local/udptools/pid/udpspeeder-s%i.pid +Restart=no +ExecStart=/usr/local/udptools/udpspeeder-s%i.sh start +ExecStop=/usr/local/udptools/udpspeeder-s%i.sh stop +PrivateTmp=true -[Service] # 核心区域 -Type=forking # 表示后台运行模式。 -User=root # 设置服务运行的用户 -Group=root # 设置服务运行的用户组 -KillMode=control-group # 定义systemd如何停止服务 -PIDFile=/usr/local/udptools/pid/udpspeeder-s%i.pid # 存放PID的绝对路径 -Restart=no # 定义服务进程退出后,systemd的重启方式,默认是不重启 -ExecStart=/usr/local/udptools/udpspeeder-s%i.sh start # 服务启动命令,命令需要绝对路径 -ExecStop=/usr/local/udptools/udpspeeder-s%i.sh stop # 服务停止命令,命令需要绝对路径 -PrivateTmp=true # 表示给服务分配独立的临时空间 - [Install] -WantedBy=multi-user.target # 多用户 \ No newline at end of file +WantedBy=multi-user.target \ No newline at end of file diff --git a/udptools.sh b/udptools.sh index a728897..759c020 100644 --- a/udptools.sh +++ b/udptools.sh @@ -105,7 +105,7 @@ status(){ } start(){ #启动进程 - sudo -u root -b $BIN_FILE --keep-rule --conf-file $CONFIG_FILE >> $LOG_FILE 2>&1 + nohup $BIN_FILE --keep-rule --conf-file $CONFIG_FILE >> $LOG_FILE 2>&1 & #checkSet #sudo -u nobody -b $BIN_FILE --conf-file $CONFIG_FILE >> $LOG_FILE 2>&1 #Centos8无法nobody运行 @@ -199,7 +199,8 @@ status(){ } start(){ #启动进程 - sudo -u nobody -b $BIN_FILE $CONFIG >> $LOG_FILE 2>&1 + #sudo -u nobody -b $BIN_FILE $CONFIG >> $LOG_FILE 2>&1 + nohup $BIN_FILE $CONFIG >> $LOG_FILE 2>&1 & status } stop(){