शीर्ष और पीएस एक ही प्रक्रिया के लिए अलग-अलग पीआईडी ​​क्यों दिखाते हैं?


11

जब मैं दौड़ता हूं top -H, तो देखता हूं कि मेरे कई mysqlधागों में एक ही पीआईडी ​​है। हालाँकि, ps -eLfमैं देख रहा हूँ कि हर एक का एक अलग पीआईडी ​​है:

ps -eLf

UID        PID  PPID   LWP  C NLWP STIME TTY          TIME CMD
mysql     1424     1  1424  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1481  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1482  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1483  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1484  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1485  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1486  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1487  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1488  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1489  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1490  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1791  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1792  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1793  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1794  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1809  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1812  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld

और में top -H

PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
 1424 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.08 mysqld                                                                  
 1481 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.16 mysqld                                                                  
 1482 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.33 mysqld                                                                  
 1483 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.16 mysqld                                                                  
 1484 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.23 mysqld                                                                  
 1485 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.27 mysqld                                                                  
 1486 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.15 mysqld                                                                  
 1487 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.18 mysqld                                                                  
 1488 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.16 mysqld                                                                  
 1489 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.16 mysqld                                                                  
 1490 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.34 mysqld                                                                  
 1791 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.26 mysqld                                                                  
 1792 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.54 mysqld                                                                  
 1793 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.00 mysqld                                                                  
 1794 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.00 mysqld                                                                  
 1809 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.00 mysqld                                                                  
 1812 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.13 mysqld

क्या चल रहा है और मुझे किस पर विश्वास करना चाहिए?


सवाल कहां है?
विनज

जवाबों:


10

वे वास्तव में एक ही जानकारी को विभिन्न तरीकों से दिखा रहे हैं। यह -fऔर क्या करना है ( -Lविकल्प , मेरा जोर):psman ps

-फुल फॉर्मेट लिस्टिंग करें। अतिरिक्त कॉलम जोड़ने के लिए इस विकल्प को कई अन्य UNIX- शैली विकल्पों के साथ जोड़ा जा सकता है। यह भी आदेश तर्क मुद्रित करने के लिए कारण है। -L के साथ उपयोग किए जाने पर, NLWP (थ्रेड्स की संख्या) और LWP (थ्रेड आईडी) कॉलम जोड़े जाएंगे।

-L शो थ्रेड्स, संभवतः LWP और NLWP कॉलम के साथ।

tid एक विवादास्पद इकाई (उपनाम lwp, spid) का प्रतिनिधित्व करने वाली अद्वितीय संख्या को टाइप करें। यह मान इस प्रकार भी दिखाई दे सकता है: एक प्रक्रिया आईडी (पीआईडी); एक प्रक्रिया समूह आईडी (pgrp); सत्र के नेता (सिड) के लिए एक सत्र आईडी; थ्रेड ग्रुप लीडर (tgid) के लिए एक थ्रेड ग्रुप आईडी; और प्रक्रिया समूह के नेता (tpgid) के लिए एक tty प्रक्रिया समूह ID।


तो, कॉलम psमें थ्रेड आईडी दिखाएगा LWPजबकि PIDकॉलम वास्तविक प्रक्रिया पहचानकर्ता है

topदूसरी ओर, PIDकॉलम में विभिन्न थ्रेड्स को सूचीबद्ध करता है, हालांकि मुझे इसमें कोई स्पष्ट उल्लेख नहीं मिल रहा है man top


2

यह प्रस्तुति में सिर्फ एक अंतर है। पर देखो LWPअपने पर स्तंभ psउत्पादन - LWPहै Light Wआठ Process। कर्नेल एक पूर्ण प्रक्रिया और एक थ्रेड के बीच अंतर कर सकता है, लेकिन इसे अभी भी उन्हें स्वतंत्र रूप से शेड्यूल करना है (जो कि थ्रेड का उद्देश्य है) एक ही तंत्र के साथ यह प्रक्रियाओं को शेड्यूल करने के लिए उपयोग करता है और इसलिए आईडी के शेड्यूलर को अद्वितीय होना पड़ता है, हर उद्देश्य के लिए प्रक्रिया और थ्रेड आईडी का एक ही पूल होने और दो प्रकारों को अलग-अलग बताने के लिए अन्य तरीकों का उपयोग करके सर्वश्रेष्ठ हासिल किया गया।


-2

आप मूल प्रक्रिया को देखते हैं 1424, एक ऐसी प्रक्रिया जिसने एक या एक से अधिक बाल प्रक्रियाएँ ( the other PIDs) बनाई हैं ।


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