持久化在linux中运行程序

2024 年 8 月 2 日 星期五(已编辑)
/ ,
62
1
这篇文章上次修改于 2024 年 8 月 2 日 星期五,可能部分内容已经不适用,如有疑问可询问作者。

持久化在linux中运行程序

交由systemctl管理,如启动、停止、重启、详细命令查看:https://linuxc.000721.cc/c/systemctl.html

比如有一个程序需要由Python解释器运行,命令如下:

/usr/bin/python3 /usr/local/bin/meme run

但它并没有提供后台运行参数,此时可以为这个程序编写一个service来达到后台运行效果,meme.service如下

[Unit]
# 描述,systemctl是根据文件名来找的,所以写啥都不影响
Description=meme
After=network.target

[Service]
# 命令,我这里可以直接写meme是因为meme已经在环境变量中了
ExecStart=meme run
# 工作目录,程序寻找自身数据时会从这个目录下找
WorkingDirectory=/opt/meme/
# 是否重启,
Restart=always
RestartSec=10
# 以root用户执行
User=root
Group=root

[Install]
WantedBy=multi-user.target

保存为meme.service并移入/etc/systemd/system/目录下。

执行systemctl daemon-reload。接下来就可以启动了,systemctl start meme.service

参考:

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...