Konuyu Açan
#1
pgrep ve pkill Kullanımı: Ne zaman hangi seçeneği kullanmalı
[p]İşletim sistemi üzerinde çalışan süreçleri bulmak ve gerekirse sonlandırmak için pgrep ve pkill komutları güçlü, basit ve pratik araçlardır. Temel farkları, hedef olarak kullandıkları işlemlerin hangi metotla seçildiğidir: pgrep süreçleri ad veya diğer özelliklerle arar, pkill ise bulunan süreçleri doğrudan sonlandırır. Her iki komut da çoğu durumda aynı filtreleme ifadelerini kullanır, fakat birinde sonuç yalnızca çıktı olarak döner, diğeri ise etkiyi uygulayarak işlemi sonlandırır. Şu noktalar üzerinde durmak, günlük idari işlemleri daha güvenli ve etkili kılar.
1) Temel kullanım mantığı ve basit örnekler
2) Seçicilik ve güvenlik
3) Çoklu desenler ve davranış modları
4) Güncel durum ve pratik uyarılar
Bu araçlar günlük sistem yönetimini sadeleştirse de, operasyon güvenliği açısından dikkatli kullanılmalıdır. Bu araçları hangi senaryolarda veya özel gereksinimlerinizde nasıl kullanmayı planlıyorsunuz?
[p]İşletim sistemi üzerinde çalışan süreçleri bulmak ve gerekirse sonlandırmak için pgrep ve pkill komutları güçlü, basit ve pratik araçlardır. Temel farkları, hedef olarak kullandıkları işlemlerin hangi metotla seçildiğidir: pgrep süreçleri ad veya diğer özelliklerle arar, pkill ise bulunan süreçleri doğrudan sonlandırır. Her iki komut da çoğu durumda aynı filtreleme ifadelerini kullanır, fakat birinde sonuç yalnızca çıktı olarak döner, diğeri ise etkiyi uygulayarak işlemi sonlandırır. Şu noktalar üzerinde durmak, günlük idari işlemleri daha güvenli ve etkili kılar.
1) Temel kullanım mantığı ve basit örnekler
- pgrep pattern: Çalışan tüm süreçler arasında adında pattern geçenleri listeler. Örneğin, firefox sürecini bulmak için pgrep firefox yazılır. Çıktı yalnızca PID’leri içerir.
- pkill pattern: pattern ile eşleşen tüm süreçleri sonlandırır. Örneğin, pkill firefox.
2) Seçicilik ve güvenlik
- -u kullanıcı: Belirli bir kullanıcıya ait süreçleri hedeflemek için pgrep -u kullanıcıadı pattern veya pkill -u kullanıcıadı pattern kullanılır. Bu, sistemde yanlışlıkla başka kullanıcıya ait süreçleri etkilemeden operasyon yapmaya olanak tanır.
- -f tam komut satırı: Eğer süreç adı yerine tam komut satırındaki desene göre arama yapmak istiyorsanız pgrep -f "tam komut satırı" kullanılır. pkill de benzer şekilde -f ile çalışır.
- -l, -n, -o gibi seçeneklerle çıktıyı filtreleyebilir veya son bulunan/ilk bulunan süreçleri hedefleyebilirsiniz.
3) Çoklu desenler ve davranış modları
- Patternleri virgülle ayırarak aynı anda birden çok kriter kullanabilirsiniz (örneğin pgrep -f "nginx|gunicorn"). pkill ile de aynı mantık geçerlidir.
- -SIGTERM veya -9 gibi sinyallerle sonlandırma baskısını değiştirmek mümkün. Örneğin pkill -TERM firefox veya pkill -9 firefox daha zorla kapatma sağlar.
- -x tam eşleşme: -x seçeneğiyle yalnızca tam adıyla eşleşen süreçler hedeflenir; bu, benzer isimli alt süreçlerin yanlışlıkla sonlandırılmasını önler.
4) Güncel durum ve pratik uyarılar
- Süreç listesi üretmek ve ardından tek tek incelemek için pgrep ile sonuçları bir dosyaya yönlendirmek güvenli ve kontrolü artırır: pgrep -a -f "komut" > /tmp/pids.txt
- Ölçekli sistemlerde yoğun işlemlerde pkill’in etkisini hemen görebilirsiniz; ancak beklenmedik servis kesintilerini önlemek için önce pgrep ile hangi süreçlerin etkileneceğini görmek daha güvenlidir.
Bu araçlar günlük sistem yönetimini sadeleştirse de, operasyon güvenliği açısından dikkatli kullanılmalıdır. Bu araçları hangi senaryolarda veya özel gereksinimlerinizde nasıl kullanmayı planlıyorsunuz?
