1 puan yazan GN⁺ 2024-07-30 | 1 yorum | WhatsApp'ta paylaş

Bash ile ps aux gerçekleştirme

  • Mülakat sorusu: bash/linux bilgisi gerektiren bir pozisyonun mülakat sorusu olarak şu durum varsayılabilir

    • SSH ile bağlanılan bir makinede bash kabuğu kullanılıyor, ancak yeni süreç oluşturulamıyor
    • Tüm PID'ler kullanımdaysa ne yapılacağı sorusu
  • Çözüm: Bu araç, ps aux komutunu kullanabiliyormuşsunuz gibi davranmanızı sağlayabilir

    • Her durumda %100 çalışmaz, ancak benzer şekilde çalışır

GN⁺ özeti

  • Bu yazı, bash kabuğunda yeni süreç oluşturulamayan durumlarda ps aux komutunun yerine kullanılabilecek bir yöntem sunuyor
  • Bir bash betiği aracılığıyla sistem süreçlerini kontrol etmenin yolunu açıklıyor
  • Bu yöntem her durumda kusursuz çalışmayabilir, ancak kısıtlı ortamlarda faydalı olabilir
  • Benzer işlev sunan diğer araçlar arasında htop ve top komutları bulunuyor

1 yorum

 
GN⁺ 2024-07-30
Hacker News görüşleri
  • Bilgisayar bilimindeki en zor sorun sıralama işleridir

    • Basit görünen işlevler bile gerçekte çok uzun zaman alır
    • Birçok programlama dilinde sütun hizalama işlevi yazmak her zaman zordur
    • Python'un f-string'leri ve padding özellikleri kullanılsa bile kod karmaşık ve okunması zor hale gelir
    • Örnek kod yazarken bile birkaç hatayı düzeltmek gerekmiştir
  • bash/Linux bilgisi gerektiren bir mülakat sorusu örneği

    • Tüm PID'lerin kullanımda olduğu ve yeni süreç oluşturulamadığı bir durumda bunun nasıl çözüleceği sorulur
    • /proc/[pid]/ dosya sisteminde PID alanını tüketen süreçler kontrol edilir
    • kill, bash'in yerleşik bir komutudur; yeni bir süreç oluşturmadan da kullanılabilir
    • Ebeveyn süreci bulup durdurmak sorunu çözebilir
    • Pipe veya subshell oluşturmayan temiz bir betik yazmak mümkündür
  • 2011'de ABD'deki büyük bir teknoloji şirketinde SRE rolü için mülakat deneyimi

    • MS Office'in çevrimiçi tarayıcı tabanlı alternatifini yapan bir şirketti
    • Telefon mülakatından sonra bash ile netstat yerine geçecek bir program yazma görevi verildi
    • O sırada /proc/ içinde soket bilgisinin nasıl bulunacağını bilmediği için ps ve fuser yerine geçen programlar yazdı
    • Mülakatçı bunu kabul etti ve ardından yüz yüze mülakat aşamasına geçildi
    • Bu senaryonun gerçek hayata dayanıp dayanmadığı merak ediliyor
  • bash@libera'daki Izabera, bash uzmanlarından biridir

    • Son 10 yılda çok şey öğrenildi
  • Temiz bash koduna bir örnek

    • bash kodlarının çoğu verimsizdir ama bu kod iyi bir örnektir
  • Tüm PID'lerin kullanımda olduğu ve yeni süreç oluşturulamadığı durumda ne yapılacağını soran soru

    • POSIX shell'de bash betiği uyumlu değildir
  • bash 3.2'de çalışmaz ama bash 4.2'de çalışır

    • Örnek kodda printf biçim belirteci hatası oluşur
  • procps kurulu olmayan sistemlerde süreç listelemek için daha iyi bir kullanım örneği önerisi

  • bash ile dinleyici ve istemci de yazılabilir, ancak pratikte tavsiye edilmez