【发布时间】:2018-08-30 12:20:57
【问题描述】:
我有一个必须一直运行的 python 程序。如果由于某种原因它被停止了,我想自动重新启动它。我想有一个每 n 秒运行一次的 cron 并检查程序是否正在运行。我的 shell 脚本是这样的:
#!/usr/bin/env bash
CM_COMMAND=`ps aux| grep abc| grep def| grep sudo`
LEN_COMMAND=${#CM_COMMAND}
if[["$LEN_COMMAND" -le "5"]]
then
echo "start the python program"
fi
exit
运行此脚本时出现错误:my_prog.sh: line 4: $'if[[118\r -le 5]]\r': command not found'
这样做的替代方法是什么?我的脚本有什么问题?
【问题讨论】:
-
一个问题是当有人运行 6 个任意的
sudo命令匹配你的greps 时,你的脚本将不会重新启动。 -
python 进程是否需要不断运行,或者以某个(更高频率)间隔调用它就足够了?它必须以多快的速度重新启动才能实现其目的?
-
ps aux| grep abc| grep def| grep sudo如果 abc 是程序名称 -
进程必须不断运行
-
它必须一直不间断地运行。如果停止,则需要尽快重新启动。
标签: python linux shell scripting