gpt4 book ai didi

linux - 用于检查特定 php 进程是否正在运行的 Bash 脚本?

转载 作者:太空宇宙 更新时间:2023-11-04 10:48:42 24 4
gpt4 key购买 nike

我正在使用 nohup 命令运行 websocket 服务器,如下所示。

nohup php -q chat-server.php > ratchet_ws.log &

但它在几个小时后停止工作。所以我创建了一个如下所示的 bash 脚本

#!/bin/bash
while true
do
if pgrep php > /dev/null
then
echo "Running"
else
cd /..path../
nohup php -q chat-server.php > ratchet_ws.log &
fi
sleep 1;
done

然后我用下面的命令运行脚本,如下所示。

nohup sh chk_process.sh > chk_process.log &

上面脚本的工作是检查我的 chat-server.php 是否正在运行,如果它没有运行,那么它将再次启动它。

if pgrep php > /dev/null

但这一行正在检查任何 php 进程是否正在运行。但我希望它只检查我的 chat-server.php。

最佳答案

您可以使用 pgrep -f 或 pgrep -x 选项。

来自手册页的条目

-f 该模式通常只与进程名称匹配。当设置 -f 时,使用完整的命令行。
-x 只匹配名称(或命令行,如果指定了 -f)与模式完全匹配的进程。

关于linux - 用于检查特定 php 进程是否正在运行的 Bash 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31980122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com