脚本代码
class Server { const PORT = 8888; public function port() { //netstat -anp 2>/dev/null| grep 8888 |grep LISTEN |wc -l $shellCommand = 'netstat -anp 2>/dev/null| grep ' . self::PORT . "| grep LISTEN | wc -l"; $result = shell_exec($shellCommand); if ($result != 1) { //进程不存在,发送警报信息 echo 'At '.date('Y-m-d H:i:s') . ' service process is exit' . PHP_EOL; } else { echo 'At '.date('Y-m-d H:i:s') . ' service process is ok' . PHP_EOL; } } } Swoole\Timer::tick(1000, function (int $timer_id) { (new Server)->port(); });
nohup /usr/bin/php ./Server.php > ~/test.log &
更加精确的写法
netstat -anp 2>/dev/null| grep 127.0.0.1:8866 | grep LISTEN | wc -l