एक प्रक्रिया नाम के आसपास कोष्ठक क्यों जोड़ें?


19

मेरी मशीन पर ( डेबियन परीक्षण ), जब मैं करता हूं

ps aux | grep pam

मुझे मिला

orto        609  0.0  0.0  58532  2148 ?        S    08:06   0:00 (sd-pam)  
orto       5533  0.0  0.0  12724  1948 pts/1    S+   16:51   0:00 grep pam

(sd-pam)एक प्रक्रिया के लिए एक अजीब नाम लगता है। इस मंच को पढ़ते हुए , मैं देखता हूं कि यह नाम सिस्टमड द्वारा उद्देश्य पर सेट है। में स्रोत कोड हम देखते हैं

/* The child's job is to reset the PAM session on
 * termination */

/* This string must fit in 10 chars (i.e. the length
 * of "/sbin/init"), to look pretty in /bin/ps */
rename_process("(sd-pam)");

इसका क्या मतलब है सुंदर दिखने में /bin/psऔर क्यों (sd-pam)और न केवल sd-pamएक नाम के रूप में चुनने के लिए ? नाम के चारों ओर कोष्ठक लगाने से लगता है कि इस प्रक्रिया में कर्नेल थ्रेड जैसे कुछ विशेष है [kintegrityd]


"क्या करने का उद्देश्य है" के साथ आपका क्या मतलब है? यह एक नाम है, यह संभवतः बस जैसा दिखता है वह (SessionDestroy-PAM?) है।
कोस

मैंने आपके प्रश्न को ध्यान में रखते हुए अपना प्रश्न संशोधित किया है।
ओरोमला लोकनी

क्षमायाचना, मुझे समझ नहीं आया कि आप कोष्ठक के बारे में बात कर रहे हैं। ईमानदारी से मुझे पता नहीं है: इस के अनुसार psप्रक्रिया का लेखांकन नाम कोष्ठक और प्रिंट में संलग्न करता है कि यदि प्रक्रिया को दिखाया गया है तो उसका नाम बदल दिया गया है यदि psवह प्रक्रिया को उसके मूल नाम से खोजने में सक्षम नहीं है, हालाँकि यह जरूर है यह नहीं समझाता है कि यह pamस्रोत कोड में क्यों किया गया है , जिसका कोई लेना-देना नहीं है ps
कोस

1
हो सकता है कि मैंने @kos की टिप्पणी को सचेत रूप से पढ़ा हो, लेकिन मैं सिर्फ यह कहना चाह रही थी कि शायद लोगों को एसडी-पीएम नामक द्विआधारी के लिए व्यर्थ दिख रहे लोगों से बचना चाहिए। यह पढ़ने के बाद कि ps पहले से ही सटीक सिंटैक्स का उपयोग करता है, जो अच्छी तरह से जानबूझकर हो सकता है। निश्चित रूप से अन्य प्रक्रिया सूचीकरण उपकरण होंगे जो कोष्ठक नहीं जोड़ते हैं। ( systemd-cgls?)
sourcejedi

2
@kos: "sd" सिस्टमड के लिए बहुत संभव है, न कि "सत्र नष्ट" के लिए।
21

जवाबों:


15

नाम के आसपास कोष्ठक लगाने से लगता है कि इस प्रक्रिया में कुछ खास है

दो मामले हैं:

  • (...)

जब पीआईडी ​​1 एक सेवा बाइनरी शुरू करता है, तो यह पहले एक प्रक्रिया को बंद कर देगा, फिर सेवा कॉन्फ़िगरेशन के अनुसार प्रक्रिया के मापदंडों को समायोजित करें और अंत में वास्तविक सेवा प्रक्रिया को निष्पादित करने के लिए निष्पादित () करें। कांटा और निष्पादन के बीच के समय में, हम प्रक्रिया का नाम बदलने के लिए PR_SET_NAME का उपयोग करते हैं, जो कि शुरू होने जा रहा है, इसे शुरू करने के लिए यह आसान करने के लिए अंतिम सेवा के लिए शुरू किया। हालाँकि, ध्यान दें कि उसके पास "कम" नाम पर एक सख्त आकार की सीमा है (यानी प्रक्रिया का नाम जिसे मेरे PR_SET_NAME के ​​साथ सेट किया गया है, अर्थात "शीर्ष" दिखाता है), जिसका अर्थ है कि हमें कम करना है। हम स्ट्रिंग की शुरुआत को काट देते हैं, क्योंकि आमतौर पर प्रत्यय अधिक दिलचस्प होता है (अन्यथा, सिस्टमड की सभी विभिन्न सेवाएं "(सिस्टमड-)" के रूप में प्रकट होती हैं - जो विशेष रूप से उपयोगी नहीं है)।

Https://lists.freedesktop.org/archives/systemd-devel/2016-April/036322.html देखें

  • (sd-pam) विशेष मामला है

यदि हम एक गैर-खाली 'PAMName =' के साथ एक इकाई को स्पॉन करते हैं, तो हम यूनिट के अंदर एक चाइल्ड-प्रोसेस को बंद कर देते हैं , जिसे '(sd-pam)' के रूप में जाना जाता है, जो सत्र को देखता है। यह बाहर निकलने के लिए मुख्य-प्रक्रिया की प्रतीक्षा करता है और फिर इसे pam_close_session (3) के माध्यम से पूरा करता है।


5

इसका मतलब क्या है / बिन / पीएस में सुंदर लग रहा है और क्यों (एसडी-पीएएम) चुनना है और केवल नाम के रूप में एसडी-पीएम नहीं है? नाम के आसपास कोष्ठक लगाने से लगता है कि इस प्रक्रिया में कुछ खास है

हां, इसमें कुछ खास है। यह एक बना हुआ नाम है कि किसी मौजूदा बाइनरी का नाम। दूसरे शब्दों में, कहीं भी "एसडी-पीएएम" फाइल नहीं है; यह प्रक्रिया PID 1 का एक कांटा है।

कोष्ठक शायद यह इंगित करने के लिए हैं।


क्या आप जानते हैं कि एक ही सम्मेलन का उपयोग करने वाली अन्य प्रक्रियाएं हैं और क्या यह एक मानक सम्मेलन है?
ओरतोमला लोकनी

@OrtomalaLokni: मैं ऐसी प्रक्रियाओं के नामकरण के लिए किसी भी सम्मेलन से अवगत नहीं हूं। हालांकि, इसका मतलब यह नहीं है कि कोई सम्मेलन नहीं हैं।
intelfx
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.