11-07-2021

Raspberry Pi Python Executable Service - Myscript.Service

SYSTEMD

Raspberry Pi önyükleme sırasında bir komutun veya programın çalışması istiyorsak onu bir hizmet olarak ekleyebiliriz. Bu işlemi yaptıktan sonra, linux komut isteminden etkinleştirmeyi/devre dışı bırakmayı başlatabilir/durdurabilirsiniz.

 

Hizmet oluşturma

Pi'nizde hizmetiniz için bir .service dosyası oluşturun, örneğin:

 

myscript.service

 

[Unit]
Description=My service
After=network.target

[Service]
ExecStart=/usr/bin/python3 -u facedetection.py
WorkingDirectory=/home/pi/FaceDetection
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi

[Install]
WantedBy=multi-user.target

 

Dolayısıyla bu örnekte hizmet, /home/pi/FaceDetection çalışma dizini altında facedetection.py  isimli dosyayı çalıştıracaktır . Ancak Python programlarıyla sınırlı değilsiniz: Çalıştırmak istediğiniz herhangi bir programı/komut dosyasını önyüklemeden başlatmak için yalnızca ExecStart satırını komut olacak şekilde değiştirin.

 

Bu dosyayı  /etc/systemd/system  dizini altına  kopyalayın , örneğin:

 

sudo cp myscript.service /etc/systemd/system/myscript.service

 

Kopyalandıktan sonra, systemd'ye yeni bir hizmetin eklendiğini bildirmeniz gerekir . Bu, aşağıdaki komutla yapılır:

 

sudo systemctl daemon-reload

 

Şimdi aşağıdaki komutu kullanarak hizmeti başlatmayı deneyebilirsiniz:

 

sudo systemctl start myscript.service

 

Aşağıdaki komutu kullanarak durdurabilirsiniz:

 

sudo systemctl stop myscript.service

 

Aşağıaki komutu kullanarak yeniden başlatma sırasında  bu hizmetin otomatik olarak başlatılmasını sağlayabilirsiniz:

 

sudo systemctl enable myscript.service

 

Otomatik olarak başlatılamısını devre dışı bırakmak için aşağıdaki komutu kullanabilirsiniz:

 

sudo systemctl disable myscript.service

 

Hizmeti Yeniden Başlatma ve Yeniden Yükleme

 

Çalışan bir hizmeti yeniden başlatmak için şu restart komutunu kullanabilirsiniz:

 

sudo systemctl restart myscript.service

 

Söz konusu uygulama yapılandırma dosyalarını yeniden yükleyebiliyorsa (yeniden başlatmadan), reload bu işlemi başlatmak için şu komutu kullanabilirsiniz: 

 

sudo systemctl reload myscript.service

 

Hizmetin yapılandırmasını yeniden yükleme işlevine sahip olup olmadığından emin değilseniz, reload-or-restart komutunu kullanabilirsiniz. Bu, varsa yapılandırmayı yerinde yeniden yükleyecektir. Aksi takdirde, yeni yapılandırmanın alınması için hizmeti yeniden başlatır:

 

sudo systemctl reload-or-restart myscript.service

 

Hizmetlerin Durumunu Kontrol Etme

 

Sisteminizdeki bir hizmetin durumunu kontrol etmek için status komutunu kullanabilirsiniz: 

 

systemctl status application.service


Okunma: 579

Etiketler : raspberry pi service, raspberry pi hizmet, raspberry pi script, raspberry pi service ekleme,

Henüz yorum yapılmamış.

Yorum

  •  
  •   
  •  
  •  

Reklam

Kategoriler

Hakkımda

Ertuğrul Kıraç,1986'da İstanbul'da doğdu. B.evler'de yaşamaktadır.
Daha fazlası

En Çok Okunanlar

En Son Eklenenler