## 文章引言 Systemd 就是为了解决[Linux 的启动](http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html)一直采用[`init`](https://en.wikipedia.org/wiki/Init)进程问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。 根据 Linux 惯例,字母`d`是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。 使用了 Systemd,就不需要再用`init`了。Systemd 取代了`initd`,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。 **以下为 Systemd 架构图:** ![上图为 Systemd 架构图](http://www.ruanyifeng.com/blogimg/asset/2016/bg2016030703.png?ynotemdtimestamp=1672020267024) ## [](http://127.0.0.1:3334/mdEditor/#%E5%AE%9E%E4%BE%8B%E8%AE%B2%E8%A7%A3)实例讲解 新建程序目录 ~~~bash mkdir -p /app/geeknr.com/test ~~~ 进入到test目录 ~~~bash cd /app/geeknr.com/test ~~~ 使用vim新建文件 ~~~ vim test.service ~~~ 文件内容如下所示,可根据具体需要做更改 ~~~bash [Unit]Description=api server# After=network.target[Install]WantedBy=multi-user.target[Service]User=centosWorkingDirectory=/app/geeknr.com/testExecStart=/app/geeknr.com/test/apiExecReload=/bin/kill -HUP $MAINPIDKillMode=processRestart=alwaysRestartSec=30s ~~~ 退出编辑器保存文件 ~~~bash ESC 和 wq ~~~ 接下来就是制作软链,将文件映射到系统目录 ~~~bash ln -s /app/chetanlian.com/hmsc/admin/hmsc-admin.service /usr/lib/systemd/system ~~~ 让程序随系统启动生效 ~~~bash systemctl enable hmsc-admin.service ~~~ 启动程序 ~~~bash systemctl start hmsc-admin.service ~~~ 停止程序 ~~~bash systemctl stop hmsc-admin.service ~~~ ## [](http://127.0.0.1:3334/mdEditor/#%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4)常用命令 ~~~bash # 相关操作sudo systemctl <start|stop|status> hmsc-admin.service# 使用centos用户作为root权限sudo su - centos # 查看程序日志sudo journalctl -fu hmsc-admin.service ~~~ ## [](http://127.0.0.1:3334/mdEditor/#%E9%99%84%E5%BD%95%E8%B5%84%E6%96%99)附录资料 * [Systemd 指令](https://www.cnblogs.com/zwcry/p/9602756.html) * [查看使用systemctl启动日志](https://blog.csdn.net/weixin_34159110/article/details/91973870)