gpt4 book ai didi

linux - 在排除 'ps grep command' 的同时查找进程状态的 Shell 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:53 24 4
gpt4 key购买 nike

有人可以指导我编写 shell 脚本来查找进程是否处于事件状态吗?我必须从 ps 命令中排除我自己的 grep 进程过滤。我想将过程作为参数传递,

脚本:(目前正在捕获我自己的进程)

#!/bin/sh
SERVICE=$1
echo $1
if ps ax | grep $SERVICE > /dev/null
then
echo "ok"
else
echo "not ok"
fi

示例输入已尝试:(虽然进程已死,但我的状态为“ok”)

./processchecker.sh '/usr/sbin/mysqld'
./processchecker.sh '[/usr/sbin/]mysqld' (i tried using square brackets using online suggestions but failed)

请帮忙。

最佳答案

您也可以使用 pgrep - 这样效率更高一些:

#!/bin/sh

service=$1
status=0
if [ ! -z "$service" ]; then
pgrep "$service" >/dev/null; status=$?
if [ "$status" -eq 0 ]; then
echo "ok"
else
echo "not ok"
fi
fi

exit "$status"

最好也有一个合适的退出值。

关于linux - 在排除 'ps grep command' 的同时查找进程状态的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42824351/

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