banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

CentOS7 使用SystemD实现开机自启动和服务管理

CentOS7 可以在 SystemD 管理服务 Service 方式实现服务的自启动

SystemD 即为 System Daemon, 是 linux 下的一种 init 软件,开发目标是提供 更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动, 同时达到降低 Shell 的系统开销的效果。

这里假设需要启动

# /usr/share/autostartup/foobar.sh

STEP1. 创建 SystemD 管理服务使用的.service 文件

/usr/share/autostartup/foobar.service

以下是测试 service 文件,.service 的具体编写,参考 systemd 相关文档

[Unit]
Description=foobar
Documentation=http://www.doc.com/doc.html
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/foobar
ExecStart=/usr/share/autostartup/foobar.sh
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=foobar
User=foobar
Group=foobar
Environment=
[Install]
WantedBy=multi-user.target

STEP2. 将编写好的 service 文件移动到 `/usr/lib/systemd/` 下的指定目录下,这里我们需要随系统启动,所以移动到 `/usr/lib/systemd/system/` 下

cp /usr/share/autostartup/foobar.service /usr/lib/systemd/system/foobar.service

STEP3. 配置和启动相应的 Service

# 重新加载 systemd 的配置
systemctl daemon-reload

配置服务为开机启动

systemctl enable foobar.service

开启服务

systemctl start foobar.service
#关闭服务
systemctl stop foobar.service

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.