कमांड 'टॉप' का उपयोग करके मैं देख सकता हूं कि 2 पायथन स्क्रिप्ट चल रही हैं। हालाँकि, मैं उनके नाम या निर्देशिका / स्थान की जाँच कैसे करूँ? मैं उन्हें पहचानना चाहता हूं ताकि मैं देख सकूं कि क्या ठीक से चल रहा है और क्या नहीं।
कमांड 'टॉप' का उपयोग करके मैं देख सकता हूं कि 2 पायथन स्क्रिप्ट चल रही हैं। हालाँकि, मैं उनके नाम या निर्देशिका / स्थान की जाँच कैसे करूँ? मैं उन्हें पहचानना चाहता हूं ताकि मैं देख सकूं कि क्या ठीक से चल रहा है और क्या नहीं।
जवाबों:
आप उपयोग कर अजगर प्रक्रियाओं की एक सूची प्राप्त कर सकते हैं pgrep:
pgrep -lf python
यह, हालांकि, पूरे कमांड लाइन को सूचीबद्ध नहीं करता है। यदि आपके पास हाल ही का संस्करण है, pgrepतो आप इसे करने के लिए -a का उपयोग कर सकते हैं:
pgrep -af python
अन्यथा, आप उपयोग कर सकते हैं /proc:
IFS=" " read -ra pids < <(pgrep -f python)
for pid in "${pids[@]}"; do
printf '%d: ' "$pid"
tr '\0' ' ' < "/proc/$pid/cmdline"
echo
done
मैं आमतौर पर ps -fA | grep pythonयह देखने के लिए उपयोग करता हूं कि क्या प्रक्रियाएं चल रही हैं।
यह आपको निम्नलिखित की तरह परिणाम देगा:
UID PID PPID C STIME TTY TIME BIN CMD
user 3985 3960 0 19:46 pts/4 00:00:07 path/to/python python foo.py
CMD, तुम क्या अजगर स्क्रिप्ट आप चल रहे हैं दिखाने हालांकि यह आप स्क्रिप्ट की निर्देशिका नहीं देंगे होगा।
lsof -p $PIDएक अच्छी शुरुआत होगी।$PIDपीआईडी की अल्पविराम-सीमांकित सूची भी हो सकती है। साथ ही, टन डेटा को उजागर किया जाएगा/proc/$PID/।