क्या लिनक्स पर एक पायथन लिपि चलाने वाली प्रक्रिया का नाम बदलने का कोई तरीका है?एक पायथन स्क्रिप्ट के प्रक्रिया नाम को बदलना
जब मैं ps
करता हूं, तो मुझे "पायथन" प्रक्रिया नाम मिलते हैं।
क्या लिनक्स पर एक पायथन लिपि चलाने वाली प्रक्रिया का नाम बदलने का कोई तरीका है?एक पायथन स्क्रिप्ट के प्रक्रिया नाम को बदलना
जब मैं ps
करता हूं, तो मुझे "पायथन" प्रक्रिया नाम मिलते हैं।
http://code.google.com/p/procname/
नमूना उपयोग:
# Lets rename:
>>> procname.setprocname('My super name')
# Lets check. Press Ctrl+Z
[email protected]:~/procname$ ps
PID TTY TIME CMD
13016 pts/2 00:00:00 bash
13128 pts/2 00:00:00 My super name <-- it's here
यह केवल सिस्टम पर काम करेंगे जहां prctl
सिस्टम कॉल मौजूद है और PR_SET_NAME
आदेश का समर्थन करता है।
वहाँ निम्नलिखित करने का विकल्प है, हालांकि यह केवल (prctl(2) कॉल के साथ) लिनक्स पर काम करता है
if sys.platform == 'linux2':
import ctypes
libc = ctypes.cdll.LoadLibrary('libc.so.6')
libc.prctl(15, 'My Simple App', 0, 0, 0)
ProcName पुस्तकालय ubuntu पर मेरे लिए काम नहीं किया है। मैं इसके बजाय setproctitle के साथ चला गया (pip install setproctitle
)। यह बंदूक का उपयोग करता है और यह मेरे लिए काम करता है।
सरल है (आपको किसी भी libs आयात करने की आवश्यकता नहीं है) लेकिन शायद इतना सुरुचिपूर्ण तरीका नहीं है। आपको शेबांग लाइन के अंदर "env" का उपयोग नहीं करना है।
दूसरे शब्दों में, यह "अजगर" प्रक्रिया सूची में के रूप में नामित किया जाएगा:
#!/usr/bin/env python
लेकिन यह अपने SCRIPTNAME स्क्रिप्ट के साथ नाम दिया जाएगा:
#!/usr/bin/python
तो तुम कर सकेंगे इसे pidof -x scriptname
या ps -C scriptname
यह वही है जो मैं ढूंढ रहा हूं। धन्यवाद – user1061392
प्रभावी जब हम बैश फ़ाइलों के साथ काम कर रहे हैं। धन्यवाद। – dlopezgonzalez
नीट जैसे कुछ ढूंढें! क्या 'सी' एक्सटेंशन की अतिरिक्त जटिलता के बिना ** एक ही ऑपरेशन करने के लिए कोई तरीका है **? – jldupont
http://bugs.python.org/issue5672 मुझे लगता है कि, नहीं, वहाँ नहीं है :-( – bernie
उस टिकट में, वे एक और प्रक्रिया नाम बदलने वाले टूल का भी उल्लेख करते हैं (सी में भी): http: // code.google.com/p/py-setproctitle/source/browse/tools/ – bernie