306 字
1 分钟
CentOS系统服务相关
注册服务
*以下统一将serviceName作为服务名
- 进入服务目录:
cd /lib/systemd/system - 创建并编辑配置文件:
vim serviceName.service
[ Unit ] # 记录service文件的通用信息Description=test service # 服务描述信息After=network.target remote-fs.target nss-lookup.target # 服务的启动依赖,在指定服务之后启动,不用动
[ Service ] # 记录service文件的service信息Type=forking # 标准UNIX Daemon使用的启动方式,不用动PIDFile=/run/serviceName.pid # 服务的pid文件位置ExecStartPre= # 服务启动前执行的命令ExecStart= # 启动服务执行的命令ExecReload= # 服务重启执行的命令ExecStop= # 服务关闭执行的命令TimeoutStopSec=5 # 设定该服务允许的最大停止时长KillMode=process # 定义 Systemd 如何停止 sshd 服务,具体见下文Restart=on-failure # 定义 sshd 退出后,Systemd 的重启方式,具体见下文RestartSec=30s # 表示 Systemd 重启服务之前,需要等待的秒数PrivateTmp=true # 用于设置是否使用私有的tmp目录,安全起见,设为true
[ Install ] # 记录service文件的安装信息WantedBy=multi-user.target # 多用户环境下启用killMode字段
- control-group(默认值):当前控制组里面的所有子进程,都会被杀掉
- process:只杀主进程
- mixed:主进程将收到 SIGTERM 信号,子进程收到 SIGKILL 信号
- none:没有进程会被杀掉,只是执行服务的 stop 命令。
restart 字段
- no(默认值):退出后不会重启
- on-success:只有正常退出时(退出状态码为0),才会重启
- on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启
- on-abnormal:只有被信号终止和超时,才会重启
- on-abort:只有在收到没有捕捉到的信号终止时,才会重启
- on-watchdog:超时退出,才会重启
- always:不管是什么退出原因,总是重启
systemctl 相关操作
# 将服务注册为系统启动后自动启动systemctl enable serviceName# 启动服务systemctl start serviceName# 重新加载服务systemctl reload serviceName# 停止服务systemctl stop serviceName# 查看服务运行状态systemctl status serviceName# 查看所有服务列表systemctl list-unit-files其他操作
修改配置文件后需要重新加载配置文件
# 重新加载配置文件systemctl daemon-reload
# 重启相关服务systemctl restart serviceName参考
Systemd 入门教程:实战篇 - 阮一峰
CentOS 7之Systemd详解之服务单元设置system.service
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
CentOS系统服务相关
https://marrydream.top/posts/linux/centos系统服务相关/ 部分信息可能已经过时
相关文章 智能推荐