1 पॉइंट द्वारा GN⁺ 2024-07-30 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Bash में ps aux को लागू करना

  • इंटरव्यू प्रश्न: bash/linux से जुड़ी जानकारी मांगने वाली पोज़िशन के इंटरव्यू में निम्न जैसी स्थिति मान ली जा सकती है

    • SSH से जुड़े मशीन पर bash shell इस्तेमाल कर रहे हैं, लेकिन नई process बनाई नहीं जा सकती
    • अगर सभी PID इस्तेमाल हो चुके हों तो क्या करेंगे, यह पूछा जा सकता है
  • समाधान: इस टूल का उपयोग करने पर ps aux कमांड इस्तेमाल कर पाने जैसा व्यवहार किया जा सकता है

    • यह हर स्थिति में 100% काम नहीं करता, लेकिन समान तरीके से काम करता है

GN⁺ का सार

  • यह लेख ऐसी स्थिति में ps aux कमांड का विकल्प प्रस्तुत करता है, जहाँ bash shell में नई process नहीं बनाई जा सकती
  • यह बताता है कि bash script के जरिए system process कैसे देखे जा सकते हैं
  • यह तरीका हर स्थिति में पूरी तरह सही तरह से काम नहीं कर सकता, लेकिन सीमित environment में उपयोगी हो सकता है
  • समान कार्यक्षमता देने वाले अन्य टूल htop या top कमांड हैं

1 टिप्पणियां

 
GN⁺ 2024-07-30
Hacker News राय
  • कंप्यूटर साइंस में सबसे कठिन समस्याओं में से एक है sorting

    • जो function देखने में सरल लगता है, उसे वास्तव में बहुत समय लग सकता है
    • कई programming languages में column sorting function लिखना हमेशा कठिन होता है
    • Python के f-strings और padding फीचर का उपयोग करने पर भी code जटिल और पढ़ने में कठिन हो जाता है
    • example code लिखते समय भी कई bugs ठीक करने पड़े
  • bash/Linux से जुड़ा ज्ञान पूछने वाला interview question का उदाहरण

    • पूछा जाता है कि जब सभी PID इस्तेमाल में हों और नया process बनाया न जा सके, तब इसे कैसे हल करेंगे
    • /proc/[pid]/ file system में PID space इस्तेमाल कर रहे process की जाँच की जा सकती है
    • kill bash का built-in command है, इसलिए नया process बनाए बिना भी इसका उपयोग किया जा सकता है
    • parent process को खोजकर रोक देने से समस्या हल हो सकती है
    • ऐसा साफ-सुथरा script लिखा जा सकता है जो pipe या subshell न बनाए
  • 2011 में अमेरिका की एक बड़ी tech company में SRE role के interview का अनुभव

    • वह कंपनी MS Office के online browser-based alternative पर काम कर रही थी
    • phone interview के बाद bash में netstat replacement लिखने का assignment दिया गया
    • उस समय /proc/ में socket information ढूँढने का तरीका नहीं पता था, इसलिए ps और fuser replacement लिखा
    • interviewer ने इसे स्वीकार कर लिया और फिर onsite interview तक बात बढ़ी
    • यह सोचने वाली बात है कि क्या यह scenario वास्तव में वास्तविक स्थिति पर आधारित था
  • bash@libera के Izabera, bash विशेषज्ञों में से एक हैं

    • पिछले 10 वर्षों में उनसे बहुत कुछ सीखा है
  • साफ-सुथरे bash code का उदाहरण

    • ज़्यादातर bash code अक्षम होता है, लेकिन यह code एक अच्छा उदाहरण है
  • जब सभी PID इस्तेमाल में हों और नया process बनाया न जा सके, तब समाधान पूछने वाला सवाल

    • POSIX shell में bash script compatible नहीं है
  • bash 3.2 में यह काम नहीं करता, लेकिन bash 4.2 में करता है

    • example code में printf के format character से जुड़ी error आती है
  • ऐसे system पर process list करने के लिए बेहतर use case का सुझाव, जहाँ procps installed न हो

  • bash में listener और client भी लिखे जा सकते हैं, लेकिन व्यवहार में इसकी सिफारिश नहीं की जाती