Fork olmadan Bash ile yazılmış `ps aux`
(github.com/izabera)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 auxkomutunu 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 auxkomutunun 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
htopvetopkomutları bulunuyor
1 yorum
Hacker News görüşleri
Bilgisayar bilimindeki en zor sorun sıralama işleridir
bash/Linux bilgisi gerektiren bir mülakat sorusu örneği
/proc/[pid]/dosya sisteminde PID alanını tüketen süreçler kontrol edilirkill, bash'in yerleşik bir komutudur; yeni bir süreç oluşturmadan da kullanılabilir2011'de ABD'deki büyük bir teknoloji şirketinde SRE rolü için mülakat deneyimi
netstatyerine geçecek bir program yazma görevi verildi/proc/içinde soket bilgisinin nasıl bulunacağını bilmediği içinpsvefuseryerine geçen programlar yazdıbash@libera'daki Izabera, bash uzmanlarından biridir
Temiz bash koduna bir örnek
Tüm PID'lerin kullanımda olduğu ve yeni süreç oluşturulamadığı durumda ne yapılacağını soran soru
bash 3.2'de çalışmaz ama bash 4.2'de çalışır
printfbiçim belirteci hatası oluşurprocps 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