การใช้คำสั่ง 'top' ฉันสามารถเห็นสคริปต์ python 2 ตัวกำลังทำงานอยู่ อย่างไรก็ตามฉันจะตรวจสอบชื่อหรือไดเรกทอรี / สถานที่ได้อย่างไร ฉันต้องการระบุพวกเขาเพื่อให้ฉันสามารถเห็นสิ่งที่ทำงานอย่างถูกต้องและสิ่งที่ไม่
การใช้คำสั่ง 'top' ฉันสามารถเห็นสคริปต์ python 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
ยังสามารถเป็นรายการ PID ที่คั่นด้วยจุลภาค/proc/$PID/
นอกจากนี้ตันของข้อมูลที่จะได้สัมผัสใน