Programları Servis Olarak Çalıştırmak

Arka planda çalışması gereken program ya da komutları servis haline getirmek programların sürekli olarak çalışır durumda olmasını garanti eder. Önceki başlıkta anlatıldığı üzere bir programı Raspberry Pi’ın açılışında başlattığınızda; programın Raspberry Pi’ın açık kaldığı süre boyunca çalışacağının bir garantisi yoktur. Örneğin program herhangi bir nedenden ötürü hata verebilir, durabilir veya kapanabilir. Böyle bir durumda deamon tools adlı yazılım, servis haline getirilen programları sürekli olarak takip eder, durduğunda otomatik olarak yeniden çalıştırır.

Bu özelliği yönünden sürekli çalışır durumda olmasını istediğiniz programları daemon tools’un kontrolüne devretmek iyi bir fikirdir. Daemon tools’u yüklemek için:

pi@raspberry ~ $ sudo apt install daemontools daemontools-run

Daemon tools servislerinin oluşturulması elle yapılması gereken bir işlemdir. Bunun için /service dizini içerisine her servis için bir dizin ve bu dizinlerin içinde de run adında bir betik oluşturacağız. Daha sonra /etc/service dizinine sembolik bir link ile bağlayacağız. Öncelikle dizinlerimizi ve run dosyamızı oluşturalım.

pi@raspberry ~ $ sudo mkdir –p /service/bizimservis

Şimdi, sürekli çalışır durumda olmasını istediğiniz programı ya da komutu run dosyası içerisine yazalım ve kaydedelim.

pi@raspberry ~ $ sudo nano /service/bizimservis/run
#!/bin/sh
exec /calistirmak/istediginiz/programin/tam/yolu

Programın yolunun ortam değişkenlerinde bildirildiğini umarak sadece adını yazmak iyi bir yöntem değildir. Programın tam yolunu öğrenmek için where ya da locate araçlarından yararlanabilirsiniz. Sırada oluşturduğumuz servisi daemon tools’a eklemek var.

pi@raspberry ~ $ sudo update-service --add /service/bizimservis

Servisimizi oluşturmayı bitirdik. Servisi durdurmak ve yeniden başlatmak için aşağıdaki komutları kullanabilirsiniz.

pi@raspberry ~ $ sudo svc –d /service/bizimservis
pi@raspberry ~ $ sudo svc –u /service/bizimservis

Servisin mevcut durumu görmek için svstat komutu aşağıdaki şekilde kullanılabilir:

pi@raspberry ~ $ svstat /service/bizimservis

Ayrıca daemon tools’un yönetiminde olan tüm servisleri görmek için aşağıdaki komutu kullanabilirsiniz.

pi@raspberry ~ $ update-service --list

Daemon tools servislerini yöneten svscan adında bir üst servis (supervise) vardır. Eklediğiniz servisler bu ana servisin takibinde çalışır. update-service komutuna verdiğimiz –add seçeneği ile tanımlamış olduğumuz yeni servis, svscan’a bildirilir. Servisi kaldırmak için –-remove seçeneği kullanılabilir.

pi@raspberry ~ $ sudo update-service --remove /service/bizimservis

Bu komuttan sonra servis artık çalışmayacaktır. Ancak servise ait dizin ve dosyalar bulunmaya devam eder. İleride servise ihtiyacınız olmayacağını düşünüyorsanız /service/bizimservis dizinini silebilirsiniz.

Yazar: Özgür Koca

Yazar - Tankado.com

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.