gpt4 book ai didi

shell - 如何测试 Bash 中是否存在进程?

转载 作者:行者123 更新时间:2023-12-02 15:35:01 25 4
gpt4 key购买 nike

我想确保 node 在登录时正在运行。所以在我的 .bashrc 文件中我有:

pkill node
sleep 1
node server.js &

当然,这不会检查 node 是否正在运行……它只是将其终止并重新启动。相反,我想要这样的东西:

node_process = $(pidof node)
if [not_exists node_process]; then
node server.js &
fi

问题是 not_exists 方法似乎不存在 :)。我如何在 Bash 中测试数字或字符串是否存在,这是确保节点在登录时启动并运行的最佳方式吗?

最佳答案

您可以使用 -z 检查字符串是否为空:

node_process_id=$(pidof node)
if [[ -z $node_process_id ]]; then
node server.js &
fi

pidof 如果没有找到匹配的进程则不返回任何内容,因此 node_process_id 将被设置为空字符串。

关于shell - 如何测试 Bash 中是否存在进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19284919/

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