Buyukweb
Linux Süreç Yönetimi: ps, top, kill ve systemctl Komutları

Linux Süreç Yönetimi: ps, top, kill ve systemctl Komutları

Linux'ta çalışan süreçleri nasıl yönetirsiniz? ps ve top ile süreç izleme, kill ile süreci sonlandırma, systemctl ile servis yönetimi rehberi.

Büyükweb Teknik Ekibi14 Ekim 20257 dakika okuma

Linux Süreç Yönetimi: ps, top, kill ve systemctl Komutları

Linux'ta her çalışan uygulama bir "süreç" (process) olarak yönetilir. Sistem yöneticileri için süreçleri izlemek, performans sorunlarını tespit etmek ve askıya alınmış servisleri yeniden başlatmak kritik becerilerdir. Bu rehberde Linux süreç yönetiminin temel komutlarını ele alıyoruz.

Süreç Kavramları

PID (Process ID)

Her süreç benzersiz bir sayısal kimliğe sahiptir:

  • PID 1: systemd/init (tüm süreçlerin ebeveyni)
  • PID > 1: Uygulama süreçleri

Süreç Durumları

  • R (Running): Aktif çalışıyor
  • S (Sleeping): I/O bekliyor
  • D (Disk Sleep): Disk I/O bekliyor (uninterruptible)
  • Z (Zombie): Bitmiş ama ebeveyn tarafından toplanmamış
  • T (Stopped): Durdurulmuş

Ön Plan ve Arka Plan

  • Ön plan (foreground): Terminal'de aktif çalışan süreç
  • Arka plan (background): & ile başlatılan süreç
komut &      # Arka planda başlat
Ctrl+Z       # Ön planı arka plana gönder (durdur)
bg           # Duran görevi arka planda devam ettir
fg           # Arka plan görevini ön plana getir
jobs         # Arka plan görevlerini listele

ps Komutu - Süreç Listesi

ps (Process Status), çalışan süreçlerin anlık görüntüsünü verir.

Temel ps Kullanımı

ps                  # Mevcut terminal süreçleri
ps aux              # Tüm kullanıcıların tüm süreçleri
ps aux | head -20   # İlk 20 süreç

ps aux çıktısı sütunları:

  • USER: Sahip kullanıcı
  • PID: Süreç ID
  • %CPU: CPU kullanımı
  • %MEM: Bellek kullanımı
  • VSZ: Sanal bellek (KB)
  • RSS: Fiziksel bellek (KB)
  • STAT: Süreç durumu
  • START: Başlangıç zamanı
  • TIME: CPU süresi
  • COMMAND: Komut

Filtreleme

ps aux | grep apache         # Apache süreçleri
ps aux | grep php            # PHP-FPM süreçleri
ps -p 1234                   # PID 1234'ün detayı
ps -u www-data               # www-data kullanıcısının süreçleri

Ağaç Görünümü

ps auxf                      # Hiyerarşik görünüm
pstree                       # Ağaç formatı
pstree -p                    # PID ile birlikte

top Komutu - Canlı Sistem Monitörü

top, sistem kaynaklarını gerçek zamanlı olarak izler.

top

top İçindeki Kısayollar

  • q: Çıkış
  • P: CPU kullanımına göre sırala
  • M: Bellek kullanımına göre sırala
  • k: Süreç sonlandır (PID sor)
  • 1: CPU çekirdeklerini ayrı göster
  • u: Belirli kullanıcı
  • h: Yardım

htop (Gelişmiş top)

# Kurulum (yüklü değilse)
yum install htop   # CentOS/AlmaLinux
apt install htop   # Debian/Ubuntu

htop

htop özellikleri:

  • Renkli arayüz
  • Fare desteği
  • Scroll desteği
  • F2 ile yapılandırma

free - Bellek Kullanımı

free -h              # İnsan okunabilir format (MB/GB)
free -m              # Megabyte

Çıktı:

  • total: Toplam RAM
  • used: Kullanılan
  • free: Boş
  • buff/cache: Önbellek (sistem tarafından kullanılan ama serbest bırakılabilir)
  • available: Gerçekten kullanılabilir alan

kill Komutu - Süreç Sonlandırma

Signal Türleri

kill -l              # Tüm sinyalleri listele

Önemli sinyaller:

  • SIGTERM (15): Nazik sonlandırma (varsayılan)
  • SIGKILL (9): Zorla sonlandırma
  • SIGHUP (1): Yeniden yapılandırma (konfig yenile)
  • SIGSTOP (19): Durdur
  • SIGCONT (18): Devam ettir

kill Kullanımı

kill PID             # Nazik sonlandırma (SIGTERM)
kill -9 PID          # Zorla sonlandırma (SIGKILL)
kill -1 PID          # Yeniden yükle (SIGHUP)

# Birden fazla süreç
kill 1234 5678

# Süreç adına göre
killall nginx        # nginx adlı tüm süreçleri sonlandır
pkill apache2        # apache2 süreçlerini sonlandır

Askıya Alınmış Süreci Zorla Sonlandırma

# PID bul
ps aux | grep "donmus-uygulama"

# Önce nazik dene
kill 12345

# Hala çalışıyorsa zorla
kill -9 12345

systemctl - Servis Yönetimi (systemd)

Modern Linux dağıtımları (CentOS 7+, Ubuntu 16+, AlmaLinux) systemd kullanır.

Temel Servis İşlemleri

systemctl start nginx         # Başlat
systemctl stop nginx          # Durdur
systemctl restart nginx       # Yeniden başlat
systemctl reload nginx        # Konfig yenile (servis durdurmadan)
systemctl status nginx        # Durum göster

Otomatik Başlatma

systemctl enable nginx        # Sistem başlangıcında otomatik başlat
systemctl disable nginx       # Otomatik başlatmayı kaldır
systemctl is-enabled nginx    # Durum kontrol

Tüm Servisleri Listele

systemctl list-units --type=service
systemctl list-units --type=service --state=running   # Sadece çalışanlar
systemctl list-units --type=service --state=failed    # Başarısız olanlar

Servis Logları

journalctl -u nginx                  # nginx logları
journalctl -u nginx -n 50            # Son 50 satır
journalctl -u nginx --since today    # Bugünkü loglar
journalctl -u nginx -f               # Canlı log takibi

Web Sunucu Komutları

# Apache
systemctl status httpd   # veya apache2
systemctl restart httpd

# Nginx
systemctl status nginx
nginx -t                 # Konfig testi

# PHP-FPM
systemctl restart php-fpm
systemctl restart php81-php-fpm   # PHP 8.1 için

Sistem Kaynaklarını İzleme

# Disk I/O
iostat -x 2 5    # 2 saniyede bir, 5 kez

# Ağ trafiği
iftop            # Canlı ağ trafiği (yüklü ise)
ss -tuln         # Açık portlar ve bağlantılar

# Sistem yükü
uptime           # Load average göster
vmstat 1 10      # Sanal bellek istatistikleri

Büyükweb VDS Sunucu Yönetimi

Büyükweb VDS sunucular ile tam root erişimi alarak tüm sistem süreçlerini yönetebilirsiniz. AlmaLinux 8/9 ve Ubuntu 22.04 seçenekleri mevcuttur.

Sonuç

ps, top, kill ve systemctl komutları, Linux sunucu yönetiminin temel araçlarıdır. Performans sorunlarında top ile kaynakları izleyin, askıya alınmış uygulamaları kill ile sonlandırın ve systemctl ile sistem servislerini yönetin. Bu komutları öğrenmek, sunucu sorunlarını hızla teşhis etmenizi sağlar.


Pratik Linux Komutlari

Dosya Yonetimi

find ile kriterlere gore arama yapin. du -sh ile dizin boyutu, ncdu ile interaktif analiz. locate ile hizli dosya bulma. rsync ile dosya senkronizasyonu.

Surec Yonetimi

ps aux ile surecleri goruntuleyin. kill -9 ile sonlandirin. nohup ile arka planda calistirin. screen/tmux ile coklu terminal. systemctl ile servis yonetimi.

Metin Isleme

grep -r ile arama, sed ile toplu degisiklik, awk ile sutun cikarma. jq ile JSON isleme. tail -f ile canli log takibi. wc ile satir/kelime sayma.

Ag Komutlari

ss -tulpn ile portlar, curl ile HTTP istekleri, mtr ile traceroute, tcpdump ile trafik yakalama. dig ile DNS sorgulari. wget ile dosya indirme.

Zamanlama

crontab -e ile zamanlanmis gorevler. Yedekleme, temizlik otomasyonu. systemd timer ile gelismis zamanlama.

Disk Yonetimi

df -h ile kullanim, lsblk ile diskler. LVM ile esnek yonetim. RAID yapilandirmasi.

Sik Sorulan Sorular

Nereden baslamaliyim?

Temel komutlar (ls, cd, cp, mv, rm), editior (nano/vim), izinler (chmod) ve paket yonetimi (apt/dnf) ile baslayin.

Bash script nasil yazilir?

#!/bin/bash ile baslayin. Degiskenler, kosullar, donguler ogrenin. chmod +x ile calistirin.

Sonuc

Linux komut satiri sunucu yonetiminin vazgecilmez aracidir. Pratik yaparak becerilerinizi gelistirin.

En Sik Kullanilan Linux Komutlari

Komut Aciklama Ornek
ls -la Detayli dosya listesi ls -la /var/www
grep -r Icerik arama grep -r "error" /var/log
find Dosya bulma find / -name "*.conf"
chmod Izin degistirme chmod 755 dosya.sh
chown Sahiplik degistirme chown www-data /var/www
systemctl Servis yonetimi systemctl restart nginx
journalctl Log goruntuleme journalctl -u nginx -f
df -h Disk kullanimi df -h /
free -m Bellek kullanimi free -m
ss -tulpn Ag baglantilari ss -tulpn

Shell Scripting Temelleri

Bash script ile tekrarli gorevleri otomatiklestirin:

Yedekleme Scripti

Otomatik yedekleme ile veritabani ve dosyalarinizi duzenli yedekleyin. mysqldump ile veritabani, tar ile dosya arsivi olusturun.

Disk Izleme

Disk kullanimini izleyen ve esik degerini astiginda bildirim gonderen script yazin.

Log Analiz

Apache/Nginx loglarini analiz ederek en cok ziyaret edilen sayfalar ve supheli IP adresleri raporlayan script olusturun.

Etiketler:

#linux#komut satırı#terminal#sunucu yönetimi

Bu yazıyı paylaş