Selam! Bugün Linux’ta hayat kurtaran bir konuyu konuşacağız: kill komutu ve PID (Process ID). Program dondu mu? CPU’yu yiyen process mi var? İşte çözüm burada!
PID Nedir?
PID, her process’in kimlik numarası. Linux’ta çalışan her program bir process ve her process’in unique bir ID’si var. Tıpkı TC kimlik numarası gibi - sistem process’leri PID ile tanıyor.
Process’leri Görmek
# All processes with details
ps aux
# Find specific process
ps aux | grep firefox
# Real-time process monitoring
top
# Better alternative to top
htop
kill Komutu - Process’leri Sonlandırmak
kill aslında sadece “öldürmek” değil, process’lere sinyal göndermek için kullanılıyor. Default sinyal SIGTERM (15) - process’e “lütfen kapan” diyor.
# Graceful termination (SIGTERM)
kill 1234
# Force kill (SIGKILL) - no mercy!
kill -9 1234
# Kill by process name
pkill firefox
killall chrome
Önemli Sinyaller
- SIGTERM (15): Nazik kapanma - process temizlik yapıp kapanır
- SIGKILL (9): Zorla kapat - anında sonlandırır, temizlik yok
- SIGHUP (1): Reload config - process’i restart etmeden config yeniler
- SIGSTOP (19): Process’i durdur (pause)
- SIGCONT (18): Durmuş process’i devam ettir
Pratik Kullanım
Donmuş programı kapatmak:
# Find the PID
pidof firefox
# or
pgrep firefox
# Kill it
kill -9 $(pidof firefox)
Port’u kullanan process’i bulmak:
# Who's using port 8080?
lsof -i :8080
# or
netstat -tulpn | grep 8080
Pro Tips
- Önce SIGTERM deneyin - Process’in düzgün kapanmasına izin verin
- kill -9 son çare - Data loss riski var!
- zombie process’ler - Parent process’i kill edin
- Permission denied? - sudo kullanın (dikkatli!)
Tehlikeli Bölge
# NEVER DO THIS!
kill -9 1 # init process - system crash!
killall -9 # kills everything - goodbye system!
Sonuç
kill ve PID bilgisi, Linux kullanıcısının olmazsa olmazı. Process takılınca, CPU %100’e çıkınca, port meşgul deyince… kill sizin silahınız!
Ama unutmayın: “With great power comes great responsibility”. kill -9 kullanmadan önce iki kere düşünün!