Cách đúng đắn để chạy một kịch bản python như một daemon (dịch vụ) trong raspbian (hoặc debian) là gì?


9

Tôi muốn sử dụng Pi của mình như một bộ điều nhiệt gia đình, với vòng điều khiển chạy trong tập lệnh python. Tôi muốn chạy nó như một daemon trên raspbian (debian) khi khởi động.

Có một tập lệnh bash ví dụ trong /etc/init.d/sk MP, nhưng có vẻ không hợp lý khi trộn bash và python với nhau. Có các mô-đun python và các gói gỡ lỗi có thể giúp xử lý lệnh start / stop / alert:

Có ai đã thành công với một cách tiếp cận cụ thể để tạo ra một vòng điều khiển phản hồi "thời gian thực" trên Pi chưa?

Câu trả lời:


6

Tôi đã làm điều này trên một số dự án. https://bitbucket.org/dnetman99/raspberrypiprojects nếu bạn nhìn vào gpsdpiTracker, lớp trackerServer.pysử dụng lớp daemon để trình bày kịch bản. Sau đó tôi chỉ sử dụng restartdđể xem nếu nó dừng và khởi động lại, điều đó cũng có nghĩa là nó cũng sẽ khởi động nó sau khi khởi động. Tôi cũng đã sử dụng tệp bộ xương để bắt đầu, dừng daemon, nhưng không cần thiết nếu bạn sử dụng phương pháp này.

restartd = sudo apt-get install restartd

Cảm ơn! Ví dụ tuyệt vời. Sẽ xem nếu tôi có thể tái chế một số mã đó. Lớp daemon là từ mô-đun python-daemon dựa trên PEP 3143 và restartd ở đây .
hobs

Trên thực tế có vẻ như bạn đã lăn lớp Daemon của riêng bạn. Đẹp.
hobs

1
Ngoại trừ dòng she-bang, lớp Demon trong bitbucket của dnetman99 giống hệt với daemon đơn giản của Sander Marechal từ năm 2007 Tín dụng khi tín dụng đáo hạn. Qua đây
RolfBly

2

Nhìn vào cách chúng ta daemonize trong máy khách pybit-client.

https://github.com/nicholasdavidson/pybit

Nó được thiết kế để chạy như một daemon trên các hộp ARM nhỏ 24/7.

Xử lý ghi nhật ký, xử lý tín hiệu, bắt đầu / dừng tập lệnh, v.v ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.