PHP监控进程状态,完成掉线自动重启

网友投稿 279 2022-07-18

1. 利用Shell脚本实现

#!/bin/bash

PORT=0

while [ true ];do

read -p "please enter the port that you want to minitor:" port

if [ $port -gt 65536 ] || [ $port -lt 1 ];then

echo 'the port you enter is not correctly'

else

PORT=$port

break

fi

done

while [ true ]; do

if [ `netstat -anp 2> /dev/null | grep ${PORT} | wc -l` -gt 0 ] ;then

echo 'service is online'

else

echo 'service is offline'

cd /home/eko/share/live_admin/script

php ./ws.php & fi

sleep 3

done

2. 利用Swoole定时器实现

class Server {

const PORT = 8811;

public function port() {

$shell = "netstat -anp 2>/dev/null | grep ". self::PORT . " | grep LISTEN | wc -l";

$result = shell_exec($shell);

if($result != 1) {

// 发送报警服务 邮件 短信

/// todo

echo date("Ymd H:i:s")."error".PHP_EOL;

} else {

echo date("Ymd H:i:s")."succss".PHP_EOL;

}

}

}

// nohup

swoole_timer_tick(2000, function($timer_id) {

(new Server())->port();

echo "time-start".PHP_EOL;

});

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mysql优化——查询优化(mysql如何优化查询)
下一篇:关于mysql的优化一些点(mysql优化常用的几种方法)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~