मैं अपने सिस्टम में एक प्रक्रिया में HUP भेजने में सक्षम होने के लिए pidof या pgrep का उपयोग करने की कोशिश कर रहा हूं। समस्या यह है कि मैं केवल एक सटीक पैरामीटर के साथ प्रक्रिया को मारना चाहता हूं।
यह 'ps awx' का आउटपुट है
657 ? S 0:00 processname software
658 ? S 0:00 processname demo
659 ? S 0:00 processname test
इनमें से एक करके:
pidof processname
pgrep processname
आपको प्रक्रिया नाम से शुरू होने वाली सभी प्रक्रियाओं की सूची मिलती है, लेकिन मैं कुछ ऐसा करना चाहूंगा:
pidof processname test
pgrep processname test
केवल पीआईडी प्राप्त करने के लिए मुझे ज़रूरत है (इस उदाहरण में 659 होगी)
अपडेट करें
Pgrep पर -f के झंडे का उपयोग करके मैं वही करता हूँ जो मैं चाहता था, करके:
pgrep -f "processname test"
आपको सही उत्तर मिलेगा।
-f
क्योंकि आप पूर्ण कमांड लाइन पर मैच करना चाहते हैं। ध्यान दें कि pgrep नियमित अभिव्यक्तियों पर काम करता है, इसलिए आप अपेक्षाकृत जटिल मिलान भी कर सकते हैं।