跳至主要內容

开机启动

chanchaw大约 2 分钟linuxcentos

查看开机启动列表

所有在开机启动列表中的项目,包括有效和无效的:systemctl list-unit-files

仅查看启动的开机启动项

systemctl list-unit-files|grep enabled

为 jar 制作开机启动

  1. 制作启动用批处理:wxpad-start.sh 可以在任何路径下制作文件 wxpad-start.sh,使用命令:vim wxpad-start.sh,输入下面内容
#!/bin/sh
export JAVA_HOME=/usr/local/java/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
nohup java -jar /projs/wxpad.jar --server.port=7070 >/dev/null &
echo $! > /var/run/wxpad.pid

第一行没什么用处,2、3声明了JAVA的路径,行号4指定了 jar 所在的绝对路径,后面的端口号要匹配 jar 项目里使用的端口号,后面的 >/dev/null & 是固定写法,最后一行指定了该 jar 运行起来后pid保存的路径

  1. 制作关闭用批处理 在和1一样的目录下使用命令:vim wxpad-stop.sh 制作关闭用批处理,其代码如下:
#!/bin/sh
PID=$(cat /var/run/wxpad.pid)
kill -9 $PID
  1. 制作服务 本试验使用的是 CentOS Linux release 7.8.2003 (Core) 在路径 /usr/lib/systemd/system 使用命令 vim wxpad.service 制作本地服务文件,其内容如下:
#!/bin/sh
[Unit]
Description=wxpad-service
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/lib/systemd/system/wxpad-start.sh
ExecStop=/usr/lib/systemd/system/wxpad-stop.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target

行号3是为该服务命名,行号7指定了启动批处理文件的绝对路径,行号8指定了停止用批处理文件的路径,其他地方都是固定写法。

  1. 将批处理文件修改为可执行文件 回到 wxpad-start.sh 和 wxpad-stop.sh 所在的目录,使用命令:chmod +x wxpad-start.sh 和 chmod +x wxpad-stop.sh 将两个批处理文件修改为可执行文件
  2. 创建开机启动项 使用命令 systemctl enable wxpad.service 设置开机启动项目
  3. 启动服务:systemctl start wxpad
  4. 本案例在 2020年6月13日 08:24:02 本地虚拟机的 centos 中测试通过