द्वारा चल रही प्रक्रियाओं को गिनती है मैं एक छोटी बैश स्क्रिप्ट पर काम कर रहा हूं जो कि एक निश्चित नाम के साथ कितनी बार एक स्क्रिप्ट चल रहा है।सरल बैश स्क्रिप्ट नाम
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
यदि मैं कथन में गलत कर रहा हूं?
धन्यवाद, यह काम किया! –
मैं सेंटोस 6.5 पर हूं और मुझे यकीन नहीं है कि '-lt' मेरे लिए क्यों काम नहीं करता है, इसे मेरे लिए' -gt' कार्यों के साथ बदलता है। – hailong