我只需运行一次follow命令:
bash
eexxee -a xxxx -b xxxx
我们可以使用以下类似的命令行启动此命令:
bash
eexxee -b xxxx -a xxxx
/usr/bin/eexxee -b xxxx -a xxxx
/usr/bin/eexxee -a xxxx -b xxxx
现在我想写一个shell / python脚本来启动这个命令,检查类似的命令行是否正在运行。
我们如何判断这些类似命令行的匹配?
答案 0 :(得分:0)
不确定你需要多少差异化,但这两个应该足够了:
lsof /usr/bin/eexxee
ps fxau | grep eexxee
答案 1 :(得分:0)
也许这样的事情会有所帮助。
我在写这篇文章时做了一些假设。 我假设xxxx和yyyy将永远是第二或第四个参数。
#!/usr/bin/bash
# exeee -a xxxx -b yyyy
# $0 = exeeee
# $1 = -a
# $2 = xxxx
# $3 = -b
# $4 = yyyy
pid=$$
cnt=$(
ps -ef |\
grep 'eexxee -[ab] '"$2"' -[ab] '"$4"'$' |\
grep -v $pid |\
wc -l
)
if [ $cnt -ne 0 ];then
echo "another instance running"
exit 1
fi