CentOS   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了CentOS 7 systemd添加自定义系统服务大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

systemd:     CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,即:/usr/lib/systemd/system ,/usr/lib/systemd/user     每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install],就以nginx为例吧,具体内

systemd:

CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,即:/usr/lib/systemd/system ,/usr/lib/systemd/user@H_502_6@ 每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install],就以Nginx为例吧,具体内容如下:@H_502_6@@H_502_6@@H_502_6@

创建service:

在/usr/lib/systemd/system下创建Nginx.service文件内容如下(看应用需求也可以在 /usr/lib/systemd/usr下创建):@H_502_6@
[Unit]
Description=Nginx - high performance web server
Documentation=http://Nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
PIDFile=/run/Nginx.pid
ExecStartPre=/usr/sbin/Nginx -t -c /etc/Nginx/Nginx.conf
ExecStart=/usr/sbin/Nginx -c /etc/Nginx/Nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target
@H_502_6@

[Unit]

Description : 服务的简单描述@H_502_6@ Documentation : 服务文档@H_502_6@ After= : 依赖,仅当依赖的服务启动之后再启动自定义的服务单元@H_502_6@@H_502_6@

[Service]

Type : 启动类型simple、forking、oneshot、notify、dbus@H_502_6@

Type=simple(认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。

Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程。

Type=oneshot:这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes 使得 systemd 在服务进程退出之后仍然认为服务处于激活状态。

Type=notify:与 Type=simple 相同,但约定服务会在就绪后向 systemd 发送一个信号。这一通知的实现由 libsystemd-daemon.so 提供。

Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。

@H_502_6@@H_502_6@ PIDFile : pid文件路径@H_502_6@ ExecStartPre :启动前要做什么,上文中是测试配置文件 -t @H_502_6@ ExecStart:启动@H_502_6@ ExecReload:重载@H_502_6@ ExecStop:停止@H_502_6@ PrivateTmp:True表示给服务分配独立的临时空间@H_502_6@@H_502_6@@H_502_6@

[Install]

WantedBy:服务安装的用户模式,从字面上看,就是想要使用这个服务的有是谁?上文中使用的是:multi-user.target ,就是指想要使用这个服务的目录是多用户

科普1:浅析 Linux 初始化 init 系统,Systemd@H_502_6@科普2:Getting Started with systemd

大佬总结

以上是大佬教程为你收集整理的CentOS 7 systemd添加自定义系统服务全部内容,希望文章能够帮你解决CentOS 7 systemd添加自定义系统服务所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: