私は特定の名前を持つスクリプトが実行されている頻度を数える小さなbashスクリプトを作成しています。名前でプロセスを実行する単純なbashスクリプトのカウント
ps -ef | grep -v grep | grep scrape_data.php | wc -l
は、私が使用するコードで、sshを使用してscrape_data.phpが実行されている回数を出力します。現在、出力は例えば3です。だからこれはうまく動作します。
今私は何かカウントは1
#!/bin/sh
if [ ps -ef | grep -v grep | grep scrape_data.php | wc -l ] -lt 1; then
exit 0
#HERE PUT CODE TO START NEW PROCESS
else
exit 0
fi
よりも小さい場合には、上記のスクリプトは、私がこれまで持っているものですが、それは動作しませんを行う小さなスクリプトを作成しようとしています。このエラーが発生しました:
[[email protected] crons]# ./check_data.sh
./check_data.sh: line 4: [: missing `]'
wc: invalid option -- e
if文で何が間違っていますか?あなたがBash
を使用している場合
pgrep scrape_data.php &> /dev/null
if [ $? ]; then
echo no launch
fi
ありがとう、それは働いた! –
私はCentOS 6.5で、なぜ '-lt'が私にとってうまくいかないのか分かりません。' -gt'で置き換えてください。 – hailong