systemd分两种服务系统和用户服务
1)/usr/lib/systemd/system #系统服务,开机不需要登陆就能运行的程序(相当于开启自启)
2)/usr/lib/systemd/user #用户服务,需要登录后才能运行的程序
启动服务
systemctl start file.service
这里的fileservice为文件名
将会调用配置中的脚本
ExecStart:启动脚本
ExecReload:重启脚本
ExecStop:停止脚本
开机自启配置
systemctl enable file.service
安装服务
systemctl enable /etc/systemd/system/TestApi.service
systemctl stop TestApi.service
systemctl start TestApi.service
[Unit] # 主要是服务说明
Description=TestAPI 描述服务
After=network.target # 描述服务类别,表示本服务需要在network服务启动后在启动
Before=xxx.service #表示需要在某些服务启动之前启动,After和Before字段只涉及启动顺序,不涉
及依赖关系。
[Service] # 核心区域
Type=forking # 表示后台运行模式。
User=user # 设置服务运行的用户
Group=user # 设置服务运行的用户组
KillMode=control-group # 定义systemd如何停止服务
PIDFile=/usr/local/test/test.pid # 存放PID的绝对路径
Restart=no # 定义服务进程退出后,systemd的重启方式,默认是不重启
ExecStart=/usr/local/test/bin/startup.sh # 服务启动命令,命令需要绝对路径
PrivateTmp=true # 表示给服务分配独立的临时空间
[Install]
WantedBy=multi-user.target # 多用户
留待后查,同时方便他人