Linux Dersleri 42. systemctl

  • systemctl linux servislerini ve hatta 3.parti servisleri kontrol etmeye yarayan bir araçtır.
  • Centos 7 ile birlikte service komutunun yerini almıştır.

Bazı kullanım şekli;

  • systemctl (systemctl list-units ile aynı işlevi görür)

Sistemdeki aktif servisleri gösterecektir.

  • systemctl list-units –all

Sistemdeki aktif olsun olmasın tüm servisleri gösterir.

  • systemctl start | stop | status servisadı.aplikasyon (sadece aplikasyon adını yazarak da genelde kullanılabilir)

Yukardaki komut istediğimiz servisi sırasıyla başlatmaya, durdurmaya veya durum bilgisini almaya yarar.

  • systemctl enable aplikasyon

Yukarıdaki komut aplikasyonumuzun sistem her boot edildiğinde başlatılmasını sağlar, bunun için sistem arkplanda /lib/systemd/system veya /etc/systemd/system içinde bulunan servis dosyasından sembolink link oluşturup diskte systemdnin otomatik başlatılacak dosyaların bulunduğu yere atar.

  • systemctl disable aplikasyon

Yukardaki komut aplikasyonunun otomatik başlatılmasını sağlayan sembolik linki kaldırır.

  • systemctl status aplikasyon

Yukardaki komut servis durumunu, cgroup hiyararşini ve birkaç log satırını gösterir.

  • systemctl restart aplikasyon

Yukardaki komut servisi yeniden başlatmamızı sağlar

  • systemctl reload aplikasyon

Yukardaki komut restart ile aynıdır, servisi yeniden başlatmamızı sağlar

  • systemctl restart-or-reload aplikasyon

Yukardaki komut eğer aplikasyonda restart veya reload komutlarından hangisini çalıştıracağımızdan emin değilsek kullanabiliriz.


systemctl ile bilgisayarımızı aşağıdaki şekilde yeniden başlatabilir, kapatabilir veya halt edebiliriz.

  • systemctl poweroff
  • systemctl reboot
  • systemctl halt

Not: Ayrıca kendi istediğimiz dosyaları systemctl tarafından kontrol edilmesini istiyorsak /etc/systemd/system klasörü altına servisadı.service adı altında kaydederek yapabiliriz. Bu şekilde yarattığımız dosyaların belli bir formata uyması gerekmektedir

Ör :

[Unit]
Description=<Servis tanımı>

[Service]
User=<kullanıcı adı ör: root>
WorkingDirectory=<servisin klasörü ör: /root>
ExecStart=<çalıştırılacak script adı>
# Ekstra parametreler
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

eğer bir phyton eklemek istersek şu şekilde yapabiliriz.

[Unit]
Description=<Servis tanımı>

[Service]
User=<kullanıcı adı ör: root>
WorkingDirectory=<Phyton scriptinin bulunduğu klasör>
ExecStart=/home/user/.virtualenv/bin/python main.py
# Ekstra parametreler
Restart=always
RestartSec=3
# /home/user/.virtualenv/bin/python 'u kendi virtualenv and main.py dosyalarınızın olduğu yerle değiştirin

[Install]
WantedBy=multi-user.target
Bu yazı İşletim sistemleri, Linux kategorisine gönderilmiş ve , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir yanıt yazın