CentOS之使用Systemd添加自定义系统服务

2020-04-08  本文已影响0人  极客笔记Geeknr

文章引言

Systemd 就是为了解决Linux 的启动一直采用init进程问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。

根据 Linux 惯例,字母d是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。

使用了 Systemd,就不需要再用init了。Systemd 取代了initd,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。

以下为 Systemd 架构图:

上图为 Systemd 架构图

实例讲解

新建程序目录

mkdir -p /app/geeknr.com/test

进入到test目录

cd /app/geeknr.com/test

使用vim新建文件

vim api.service

文件内容如下所示,可根据具体需要做更改

[Unit]
Description=api server
# After=network.target

[Install]
WantedBy=multi-user.target

[Service]
User=centos
WorkingDirectory=/app/geeknr.com/test
ExecStart=/app/geeknr.com/test/api
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always
RestartSec=30s

退出编辑器保存文件

ESC 和 wq

接下来就是制作软链,将文件映射到系统目录

ln -s /app/geeknr.com/test/api.service /usr/lib/systemd/system

让程序随系统启动生效

systemctl enable api.service

启动程序

systemctl start api.service

停止程序

systemctl stop api.service

常用命令

# 相关操作
sudo systemctl   <start|stop|status> api.service

# 使用centos用户作为root权限
sudo su - centos 

# 查看程序日志
sudo journalctl -fu api.service

附录资料

关于我们

为程序员提供优质博文、实战笔记、开发资源、学习资料内容包括:区块链、架构、Golang、Vuejs、Python、Nodejs、C/C++函数库等等。并不定期奉送各种福利。

我是图片

欢迎订阅:极客笔记Geeknr

我的名言:梦想还是要有的,万一实现了呢?

原文链接:http://blog.geeknr.com/index.php/archives/37/

上一篇下一篇

猜你喜欢

热点阅读