क्या कमांड पीएस और शीर्ष प्रक्रियाओं तक सीमित हैं?


1

यदि मैं कमांड पीएस या शीर्ष चलाता हूं, तो क्या वे केवल प्रक्रियाओं को सूचीबद्ध करते हैं या वे सेवाओं और प्रक्रियाओं दोनों को सूचीबद्ध करते हैं? आप कैसे बता सकते हैं कि क्या दी गई पंक्ति किसी प्रक्रिया या सेवा का प्रतिनिधित्व करती है?

जवाबों:


2

सबसे पहले, शब्द सर्विस लिनक्स वातावरण में शायद ही कभी उपयोग किया जाता है। अधिक सामान्य शब्द है डेमॉन ।

जबकि दोनों पद एक ही तरह के आवेदन, पद का वर्णन करते हैं सर्विस विंडोज वातावरण में इस शब्द के उपयोग से कुछ गुण जुड़े हुए हैं।

क्या एक डेमॉन को एक से अलग करता है साधारण प्रक्रिया बस यह है कि डेमॉन एक पृष्ठभूमि प्रक्रिया है और उपयोगकर्ता द्वारा बातचीत नहीं की जाती है। लेकिन जो सबसे महत्वपूर्ण है वह है पद डेमॉन यह सिर्फ एक शब्द है। मेरे ज्ञान में, लिनक्स में कोई झंडा नहीं है जो इसे बताता है " यह प्रक्रिया एक डेमॉन है "।

इसलिए डेमन किसी भी तरह से विशेष नहीं हैं। हम एक निश्चित प्रकार के प्रोग्राम को एक डेमन कहते हैं। इसलिए भी कोई भेद नहीं किया जा रहा है ps या top।

लेकिन अगर आप जानना चाहते हैं कि आपकी वर्तमान में चल रही प्रक्रियाओं में से कौन सी संभावना है कि हम एक डेमन के बारे में सोचते हैं, तो कोशिश करें ps axjf:

oliver@ubuntuServer:~$ ps axjf
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
    0     2     0     0 ?           -1 S        0   0:00 [kthreadd]
    2     3     0     0 ?           -1 S        0   0:01  \_ [ksoftirqd/0]
    2     5     0     0 ?           -1 S        0   0:00  \_ [kworker/u:0]
    2     6     0     0 ?           -1 S        0   0:00  \_ [migration/0]
    2     7     0     0 ?           -1 S        0   0:00  \_ [migration/1]
    2     9     0     0 ?           -1 S        0   0:00  \_ [ksoftirqd/1]
    2    10     0     0 ?           -1 S        0   0:09  \_ [kworker/0:1]
    2    11     0     0 ?           -1 S        0   0:00  \_ [migration/2]
    2    12     0     0 ?           -1 S        0   0:00  \_ [kworker/2:0]
    2    13     0     0 ?           -1 S        0   0:00  \_ [ksoftirqd/2]
    2    14     0     0 ?           -1 S        0   0:00  \_ [migration/3]
    2    15     0     0 ?           -1 S        0   0:00  \_ [kworker/3:0]
    2    16     0     0 ?           -1 S        0   0:00  \_ [ksoftirqd/3]
    2    17     0     0 ?           -1 S<       0   0:00  \_ [cpuset]
    2    18     0     0 ?           -1 S<       0   0:00  \_ [khelper]
    2    19     0     0 ?           -1 S<       0   0:00  \_ [netns]
    2    20     0     0 ?           -1 S        0   0:00  \_ [kworker/u:1]
    2    21     0     0 ?           -1 S        0   0:00  \_ [sync_supers]
    2    22     0     0 ?           -1 S        0   0:00  \_ [bdi-default]
    2    23     0     0 ?           -1 S<       0   0:00  \_ [kintegrityd]
    2    24     0     0 ?           -1 S<       0   0:00  \_ [kblockd]
    2    25     0     0 ?           -1 S<       0   0:00  \_ [ata_sff]
    2    26     0     0 ?           -1 S        0   0:00  \_ [khubd]
    2    27     0     0 ?           -1 S<       0   0:00  \_ [md]
    2    28     0     0 ?           -1 S        0   0:00  \_ [khungtaskd]
    2    29     0     0 ?           -1 S        0   0:00  \_ [kworker/3:1]
    2    30     0     0 ?           -1 S        0   0:03  \_ [kswapd0]
    2    31     0     0 ?           -1 SN       0   0:00  \_ [ksmd]
    2    32     0     0 ?           -1 SN       0   0:00  \_ [khugepaged]
    2    33     0     0 ?           -1 S        0   0:00  \_ [fsnotify_mark]
    2    34     0     0 ?           -1 S        0   0:00  \_ [ecryptfs-kthrea]
    2    35     0     0 ?           -1 S<       0   0:00  \_ [crypto]
    2    43     0     0 ?           -1 S<       0   0:00  \_ [kthrotld]
    2    44     0     0 ?           -1 S        0   0:00  \_ [scsi_eh_0]
    2    45     0     0 ?           -1 S        0   0:00  \_ [scsi_eh_1]
    2    67     0     0 ?           -1 S        0   0:00  \_ [kworker/1:1]
    2    68     0     0 ?           -1 S        0   0:09  \_ [kworker/0:2]
    2   110     0     0 ?           -1 S        0   0:00  \_ [kworker/1:2]
    2   190     0     0 ?           -1 S        0   0:00  \_ [scsi_eh_2]
    2   208     0     0 ?           -1 S        0   0:00  \_ [kworker/2:1]
    2   218     0     0 ?           -1 S<       0   0:00  \_ [kdmflush]
    2   235     0     0 ?           -1 S<       0   0:00  \_ [kdmflush]
    2   243     0     0 ?           -1 S        0   0:13  \_ [jbd2/dm-0-8]
    2   244     0     0 ?           -1 S<       0   0:00  \_ [ext4-dio-unwrit]
    2   508     0     0 ?           -1 S<       0   0:00  \_ [kpsmoused]
    2 20477     0     0 ?           -1 S        0   0:00  \_ [flush-252:0]
    0     1     1     1 ?           -1 Ss       0   0:00 /sbin/init
    1   303   302   302 ?           -1 S        0   0:00 upstart-udev-bridge --daemon
    1   306   306   306 ?           -1 Ss       0   0:00 udevd --daemon
  306   438   306   306 ?           -1 S        0   0:00  \_ udevd --daemon
  306   445   306   306 ?           -1 S        0   0:00  \_ udevd --daemon
    1   562   541   541 ?           -1 Sl     101   0:04 rsyslogd -c5
    1   600   599   599 ?           -1 S        0   0:00 upstart-socket-bridge --daemon
    1   612   612   612 ?           -1 Ss     102   0:00 dbus-daemon --system --fork --activation=upstart

यह अपेक्षाकृत ताज़ा उबंटू सर्वर इंस्टॉलेशन के आउटपुट का हिस्सा है। आउटपुट पदानुक्रमित होना चाहिए, जिससे सिस्टम प्रक्रियाओं की पहचान करना आसान हो जाए।

उसी के इस हिस्से में जैसे ps उत्पादन। आप स्पष्ट रूप से देख सकते हैं, श्रृंखला की शुरुआत किसके साथ हुई थी sshd (SSH डेमॉन), जिसमें मैंने लॉगिन किया और अपने लिए एक उपयोगकर्ता सत्र बनाया। उस में, bash शुरू किया गया था और बाश में मेरे पास एक पृष्ठभूमि है vi प्रक्रिया और मेरी ps मैंने अभी अमल किया है।

 8053 20352 20352 20352 ?           -1 Ss       0   0:00  \_ sshd: oliver [priv]
20352 20378 20352 20352 ?           -1 S     1000   0:00      \_ sshd: oliver@pts/0
20378 20379 20379 20379 pts/0    20570 Ss    1000   0:00          \_ -bash
20379 20569 20569 20379 pts/0    20570 T     1000   0:00              \_ vi
20379 20570 20570 20379 pts/0    20570 R+    1000   0:00              \_ ps axjf

तो, उन दो टुकड़ों को देख रहे हैं ps आउटपुट, आपको डेमॉन और उपयोगकर्ता प्रक्रियाओं के बीच स्पष्ट रूप से अंतर करने में सक्षम होना चाहिए।


धन्यवाद। क्या यह उचित या सुरक्षित है कि हर आवेदन एक डेमॉन का हिस्सा है या एक प्रक्रिया डेमन के बिना चल सकती है?
— PeanutsMonkey

हमेशा वहाँ होगा कुछ और यह एक प्रक्रिया शुरू होती है। बहुत कम से कम, कि कर्नेल है। इसलिए, मुझे लगता है, यदि आप कर्नेल को एक डेमन मानते हैं तो आपके प्रश्न का उत्तर निर्भर है।
— Der Hochstapler

जब आप कहते हैं कि यह निर्भर है कि क्या मैं कर्नेल को एक डेमन मानता हूं, तो क्या आपके कहने का अर्थ है कि डेमन शब्द का उपयोग ढीला है?
— PeanutsMonkey

मेरी निजी राय में, हाँ।
— Der Hochstapler

आज मैंने जो कुछ स्रोत पढ़े हैं उनमें से एक डेमन को एक प्रक्रिया के रूप में परिभाषित करता है जिसके माता-पिता के पास पीआईडी ​​है 1 (जो होगा init प्रक्रिया)। लेकिन उस प्रक्रिया के बारे में क्या मैं पृष्ठभूमि में स्पॉन होगा (कुछ अनुप्रयोगों में है --daemon विकल्प)? क्या वह डेमॉन नहीं है? मेरी व्यक्तिगत राय में यह शब्द कुछ हद तक शिथिल है।
— Der Hochstapler

2

सेवाएँ प्रक्रियाएँ हैं, इसलिए हाँ, दोनों ps द्वारा सूचीबद्ध हैं। वे सिर्फ स्पष्ट रूप से प्रतिष्ठित नहीं हैं। एक सेवा एक प्रक्रिया है जो अनुरोधों या कनेक्शनों के लिए सुनती है।

आप नेटस्टैट का उपयोग उन प्रक्रियाओं को सूचीबद्ध करने के लिए कर सकते हैं जो सुन रही हैं (और जो कि एक सेवा का हिस्सा हैं)

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