आप एक ज़ोंबी प्रक्रिया की मूल प्रक्रिया कैसे खोजते हैं?


47

आप ज़ोंबी प्रक्रियाओं की मूल प्रक्रिया कैसे खोजते हैं?

जब बच्चे की प्रक्रिया कुछ ऐसी होती है, जहां माता-पिता पूरी तरह से स्पष्ट नहीं होते हैं ...

क्या पेड़ प्रारूप या कुछ में प्रक्रियाओं को सूचीबद्ध करने का कोई तरीका है?

जवाबों:


61

lअपने ps कमांड लाइन में विकल्प जोड़ें । यह लंबे आउटपुट के लिए विकल्प है। मूल प्रक्रिया आईडी अतिरिक्त कॉलम में से एक है - पीपीआईडी ​​लेबल।

$ ps l
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
0   508  3344  4498  18   0   2452  1236 wait   Ss   pts/12     0:00 /bin/sh
0   508  4467 17796  15   0   4664  1572 wait   Ss   pts/5      0:00 -/bin/bash
0   508  4498  4467  15   0  23032 15108 -      S+   pts/5      2:20 emacs -nw
0   508  4532 17796  15   0   4532  1464 wait   Ss   pts/13     0:00 -/bin/bash
0   508  4916 17796  15   0   4664  1648 wait   Ss   pts/7      0:01 -/bin/bash

एक अन्य विकल्प प्रक्रियाओं की एक एससीआई पेड़ का प्रतिनिधित्व दिखाने के लिए pstree कमांड है। आप शायद -pप्रोसेस आईडी दिखाना चाहते हैं ।

$ pstree -p dharris
screen(17796)─┬─bash(4467)───emacs(4498)───sh(3344)───sh(3345)
              ├─bash(4532)───su(31037)───bash(31041)
              ├─bash(4916)───pstree(26456)
              ├─bash(13547)───su(20442)───bash(20443)
              └─bash(17797)

sshd(25813)───bash(25817)───screen(25870)

8
बहुत बढ़िया जवाब। इसके बजाय pstree -p harris, pstree -p $USERएक ही अर्थ व्यक्त करेंगे, और शब्दशः काम करेंगे।
फ़िहाग

12

FWIW, psमें एक "वन" मोड है जो कई पेड़ों को दिखाता है:

# ps --version
procps version 3.2.8

# ps f
  PID TTY      STAT   TIME COMMAND
 7889 pts/7    Ss     0:00 -bash
 7988 pts/7    R+     0:00  \_ ps f
 2447 pts/0    Ss+    0:00 -bash
 2532 pts/0    S      0:00  \_ /bin/bash /home/robmee01/sync.sh
 2548 pts/0    S      0:00  |   \_ ssh usernamer@example.com
 2533 pts/0    S      0:00  \_ python /home/robmee01/IE2FF.py
 2534 pts/0    S      0:08  \_ x11vnc -usepw -forever
 2535 pts/0    S      2:47  \_ xosview
 2536 pts/0    Sl     0:17  \_ java -jar /work/timesheet/TimeSheet.jar
 2662 pts/0    Sl    18:53  \_ ./firefox-bin

यदि आप वह प्रक्रिया नहीं दिखा रहे हैं जिसे आप खोज रहे हैं, तो अपने उपयोगकर्ता नाम को स्पष्ट रूप से निर्दिष्ट करने का प्रयास करें ps f -U $USER:; यह सादे-पुराने की तुलना में अधिक प्रक्रियाओं को दर्शाता है ps

व्यक्तिगत रूप से मैं ps fo pid,cmdअपनी पसंद के कॉलम ( pid,cmdइस मामले में) के साथ वन व्यू का उपयोग या प्राप्त करने के लिए करता हूं । आप स्तंभों की पूरी सूची प्राप्त कर सकते हैं ps L


बिल्कुल सही, एकमात्र विकल्प जो वास्तव में काम करता है।
फेलिप

1

htopयह भी अच्छा है, खासकर जब lएक प्रक्रिया के नाम पर दबाया जाता है जो एक प्रक्रिया के लिए सभी खुली फ़ाइलों, पाइपों और यूआरएल को दिखाएगा (आवश्यकता lsof)


htop को ट्री मोड में भी स्विच किया जा सकता है।
lanoxx

-1

सबसे पहले ज़ोंबी प्रक्रिया का topपता लगाने के लिए उपयोग करें pid। फिर दौड़ें ps -elfया ज़ोंबी का ps -efपता लगाएं ppid

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