如何使用 systemd 控制你的程序,实现开机自启

一、模板文件

[Unit]
Description=这里是关于这个程序的名称或者介绍
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
# 这里 = 号右边写上自己程序的执行文件的绝对路径和参数
ExecStart=/usr/local/bin/node_exporter  --web.listen-address=:9111 --collector.textfile.directory=/apps/exporterData

KillSignal=SIGQUIT

# 重启模式是无论怎样都会重启这个程序,无法用 kill -9 杀死
Restart=always

# 这个表示重启的信号,也反过来映射的只有使用 systemctl stop  程序名,才能停止此程序
RestartPreventExitStatus=1 6 SIGABRT

TimeoutStopSec=5
KillMode=process
PrivateTmp=true
LimitNOFILE=1048576
LimitNPROC=1048576

[Install]
WantedBy=multi-user.target

将上述文件修改成自己程序所需要的样子,之后放到 /etc/systemd/system/目录下。
文件名命名方式: 程序名.service

比如 /etc/systemd/system/node-exporter.service

之后执行命令 systemctl daemon-reload

二、程序控制命令

1 启动

systemctl start 程序名.service

最后的 .service 可以省略, systemctl start 程序名 。比如 systemctl start node-exporter

2 重启

systemctl restart 程序名.service

3 停止

systemctl stop 程序名.service

4 查看状态

systemctl status 程序名.service

更详细的介绍访问 https://www.jianshu.com/p/954550c2b528

你可能感兴趣的:(linux)