前言:
明明经常用到的东西却还是忘记具体内容,于是写一篇文章来记录一下
权且当个副本了。
原理简介
先创建一个进程文件,再通过systemctl命令载入,从而实现程序到可控进程的转变
但是对于某些需要经常看命令返回日志的应用,tmux和screen应该比systemctl要更加适合(对,没错。就是说你Minecraft)
配置进程
1.创建服务文件
输入命令vim /etc/systemd/system/xxx.service
来创建进程文件.文件名自定义,只要以.service结尾即可
接着按i
进入编辑模式,输入以下内容:
[Unit] Description=my application #进程备注 After=network.target syslog.target #自启时在哪个服务后启用本进程 Wants=network.target #该进程所依赖的服务,只有当依赖服务正常运行时才会启用本进程 [Service] Type=simple #进程类型 可填simple,exec,forking,oneshot,dbus,notify,idle等.这里填默认即可 ExecStart=/home/a.sh #应用的启动命令 Restart=always #是否在进程退出后自动重启进程 RestartSec=1 #重启间隔
[Install] WantedBy=multi-user.target #表示该进程所在的服务组
之后再通过ESC
和:wq
来退出保存即可
2.启用进程
在文件创建完成之后,先通过systemctl daemon-reload
来刷新systemctl的缓存 再通过systemctl命令来管理你的进程,如: systemctl start xxx #开启进程 systemctl restart xxx #重启进程 systemctl stop xxx #停止进程 systemctl status xxx #查看进程状态 systemctl enable xxx #启用进程开机自启 systemctl disable xxx #禁用进程开机自启 #其中xxx为你创建进程文件时的文件名,后面的.service后缀在通过systemctl命令调用时可省略
以上便是在linux下创建自启动进程的基本流程,因本篇只作笔记,若想要了解更多详细及原理方面的内容
可前往https://www.cnblogs.com/jhxxb/p/10654554.html去深入了解systemctl的相关机制.