मैं किसी भी नाम के साथ एक प्रक्रिया कैसे शुरू कर सकता हूं जो कुछ भी नहीं करता है?


14

मैं एक ऐसी प्रक्रिया शुरू करना चाहता हूं जो कुछ भी नहीं करती है लेकिन अभी भी चल रही है। कहते हैं कि मैं एक प्रक्रिया शुरू करता हूं sadhadxk, और जब मैं चलता pgrep -x "sadhadxk"हूं तो मुझे पीआईडी ​​नंबर वापस मिल जाएगा, जैसे कि कोई भी सामान्य प्रक्रिया काम करती है।

तो क्या डमी प्रक्रिया शुरू करने का कोई तरीका है?

जवाबों:


12

तुम यह कर सकते थे:

perl -MPOSIX -e '$0="sadhadxk"; pause' &

इसे सिस्टम नाम और argv [0] दोनों सिस्टम पर सेट करना चाहिए जहाँ यह समर्थित है इसलिए sadhadxkदोनों psऔर ps -fआउटपुट में दिखाना चाहिए , इसलिए दोनों pgrep -xऔर से मेल खाना चाहिए pgrep -fx


9
> bash -c 'exec -a sadhadxk sleep 1000000' &

pgrep काम नहीं करता है लेकिन

> ps | grep '[s]adhadxk'
18931  [...] sadhadxk 1000000

सुधार: pgrepकार्य करता है, लेकिन कमांड नाम के खिलाफ नहीं (जो कि रनिंग बाइनरी का नाम है), केवल कमांड लाइन के खिलाफ:

> pgrep -f sadhadxk
18931

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