×

文章
2022.09.03

systemd 看住常驻 PHP 脚本

1 分钟读完 1019 次阅读 Linux Linux systemd 守护进程

有一阵用 nohup 跑队列消费者,机器重启就忘了。后来写成 systemd 服务,挂了自动拉,日志进 journal。

[Service]
Type=simple
ExecStart=/usr/bin/php /var/www/queue.php
Restart=on-failure
RestartSec=4
User=www
WorkingDirectory=/var/www

Restart=always 我不用。脚本自己正常退出(没任务就结束)不该被立刻拉起,那会空转。队列改成空转 sleep,再用 on-failure。

注意

  • PHP 不要在服务里 daemonize,把前台交给 systemd。
  • StandardOutput=journal,别自己再写一份没切割的 log。
  • 内存上限 MemoryMax 设上,泄漏时被杀掉比拖死机器好。

常驻进程不是「丢后台」。是声明谁负责把它扶起来。