Apa cara yang benar untuk menjalankan skrip python sebagai daemon (layanan) di raspbian (atau debian)?


9

Saya ingin menggunakan Pi saya sebagai termostat rumah, dengan loop kontrol berjalan dalam skrip python. Saya ingin menjalankannya sebagai daemon pada raspbian (debian) saat startup.

Ada contoh skrip bash di /etc/init.d/skeleton, tetapi tampaknya unpythonic untuk mem-mash bash dan python bersamaan. Ada modul python dan paket deb yang dapat membantu dengan pemrosesan perintah start / stop / alert:

Adakah yang berhasil dengan pendekatan tertentu untuk daemonisasi loop kontrol umpan balik "waktu nyata" pada Pi?

Jawaban:


6

Saya telah melakukan ini pada beberapa proyek. https://bitbucket.org/dnetman99/raspberrypiprojects jika Anda melihat gpsdpiTracker, trackerServer.pygunakan kelas daemon untuk daemonisasi skrip. Saya kemudian hanya menggunakan restartduntuk menonton jika berhenti dan me-restart itu, yang juga berarti akan memulai setelah boot juga. Saya juga telah menggunakan file kerangka untuk memulai, menghentikan daemon, tetapi tidak perlu jika Anda menggunakan metode ini.

restartd = sudo apt-get install restartd

Terima kasih! Contoh luar biasa. Akan melihat apakah saya dapat mendaur ulang beberapa kode itu. Kelas daemon berasal dari modul python-daemon berdasarkan PEP 3143 dan restartd ada di sini .
— hobs

Sebenarnya sepertinya Anda menggulung kelas Daemon Anda sendiri. Bagus.
— kompor

1
Kecuali untuk garis she-bang, kelas Demon di bitbucket dnetman99 identik dengan daemon sederhana Sander Marechal dari 2007. Kredit tempat kredit jatuh tempo. Lewat sini
— RolfBly

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.