【发布时间】:2017-12-12 03:10:09
【问题描述】:
我有一个服务器,其中某个端口 (9999) 正在被 PHP 套接字服务器监听。发生的情况是设备可以连接到套接字并发送消息。代码现在运行良好,但是,我注意到套接字有时会关闭或死掉,我需要能够自动将其重新联机,而无需登录并再次运行它。
我正在考虑编写一个 Shell 脚本,该脚本将通过 netstat 检查是否有进程在端口 9999 上运行,如果没有,该脚本将触发 PHP 套接字服务器再次联机。然后 Cron 每隔 1 或 2 分钟调用一次这个 Shell 脚本,以检查 PHP 套接字是否正在运行。
我对 Shell 脚本的了解很少,到目前为止,这是我在 Shell 中编写的唯一其他内容:
#!/bin/sh
if pidof "my process name here" >/dev/null; then
echo "Process already running"
else
echo "Process NOT running!"
sh /fasterthancron.sh
fi
我认为我应该能够在某种程度上重用此代码,但我不确定用什么替换 if condition。
我的想法是我应该使用netstat -tulpn 来确定正在运行的进程,但我不确定如何过滤该列表以查找特定进程是否在端口 9999 上运行。
【问题讨论】:
-
我的回答对你有用吗?
-
嗨,拉兹格里兹。麻烦你回答@James好吗?