事情是这样子的,我有个服务使用 php 跑的,在服务器上一直跑。
跑段时间总是挂掉,原因是内存泄漏。
挂掉就挂掉呗,进程管理工具会重启它。
但是这样子是有问题的,服务器还要做其他任务,内存被占用了,
其他任务就跑不了了。
事实就是这样子的,产生了连锁反应,好多服务跟着挂了。
解决这个问题也挺简单的,运行一遍让他退出进程就可以。
于是我写了一个 让脚本永远执行的脚本。
原来挺简单的,进程退出后,过段时间,在启动它,一直循环。
脚本如下:
#!/usr/bin/env bash
N=1
while true; do
((N++))
echo "$1 $N"
php $1 > /dev/null
sleep ${2-1}
done
网友评论