मैं यह जांचने की कोशिश कर रहा हूं कि क्या एक प्रक्रिया (मान लें कि इसे कहा जाता है some_process) एक सर्वर पर चल रही है। यदि है, तो प्रतिध्वनि 1, अन्यथा प्रतिध्वनि 0।
यह वह कमांड है जिसका मैं उपयोग कर रहा हूं लेकिन यह केवल आंशिक रूप से (नीचे अधिक जानकारी) काम करता है। ध्यान दें कि मुझे एक पंक्ति में स्क्रिप्ट लिखने की आवश्यकता है।
ps aux | grep some_proces[s] > /tmp/test.txt && if [ $? -eq 0 ]; then echo 1; else echo 0; fi
नोट:[s] में some_proces[s]रोकने के लिए है grepही लौटने से।
अगर some_processचल रहा है, तो "1"गूँजता है, जो ठीक है। हालाँकि, अगर some_processनहीं चल रहा है, तो कुछ भी गूँजता नहीं है।
ps -Ccmdप्रक्रियाओं को खोजने के लिए उपयोग कर सकते हैं जिनका कमांड नाम "cmd" है, जो पूरी तरह से समाप्त कर सकता हैgrep।psयदि यह मिलान प्रक्रिया खोजने में विफल रहता है, तो निकास कोड को कुछ गैर-शून्य मान पर सेट करेगा।