मैं एक प्रक्रिया क्यों नहीं कर सकता?


12
$ ps aux | grep -i ssh
USER      4364  0.0  0.0   9004  1032 ?        Ss   12:20   0:00 ssh -v -fND localhost:4000 USERNAME@SERVER-IP-ADDRESS

$ pgrep localhost:4000

यह काम क्यों नहीं करता है?

जवाबों:


25

डिफ़ॉल्ट रूप से, pgrep(1)केवल प्रक्रिया नाम के साथ मेल खाएगा। यदि आप पूर्ण कमांड लाइन के खिलाफ मैच करना चाहते हैं, तो -fविकल्प का उपयोग करें :

$ pgrep -f localhost:4000

8

पर एक नज़र डालें pgrep के लिए आदमी पेज । यह स्तंभों के एक समूह के साथ ps चलाने के लिए केवल एक उपनाम नहीं है और फिर पाठ आउटपुट को greping। यह वास्तव में मूल्यों के लिए विशिष्ट क्षेत्रों की खोज करता है। डिफ़ॉल्ट रूप से, यह केवल खोज करते समय प्रक्रिया के नाम को देखता है और पीआईडी लौटाता है । आप -fविकल्प जोड़कर पूरी कमांड लाइन खोज सकते हैं । आप कई अन्य फ़ील्ड भी खोज सकते हैं जो उपयोगी हो सकते हैं जैसे कि टर्मिनल से मेल खाना जहां एक प्रक्रिया चल रही है या समूह आईडी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.