2011-01-25 23 views
25

Tôi đang cố gắng sử dụng thư viện python-daemon mà dường như tôi là cách an toàn nhất để tạo Daemon mà không quên bất cứ điều gì. Tài liệu này khá kém, chỉ là PEP 3143.Thư viện thực tế để tạo Python Daemons

Mặt khác,, tôi đã tìm thấy nhiều liên kết đến số A simple unix/linux daemon in Python của Sander Marechal. Điều này có vẻ là một giải pháp đẹp hơn hoặc mặc dù tôi chưa cố gắng sử dụng nó.

Chỉnh sửa: Tôi đã sử dụng giải pháp Sander Marechal và có vẻ như nó hoạt động tốt.


Vậy cách thức thực tế trong cộng đồng Python để tạo Daemon, là một trong những thư viện này, hoặc đơn giản là tự làm tất cả (gấp hai lần v.v ...)? Ngoài ra, bạn sẽ nghĩ rằng bất kỳ thư viện nào có PEP sẽ là lựa chọn tốt hơn vì nó gần gũi hơn với cách tạo một Daemon (hoặc ít nhất là một cách tiêu chuẩn hơn) so với bất kỳ giải pháp nào khác. Vì vậy, thỏa thuận với gói python-daemon này, nó sẽ bao giờ được bao gồm trong thư viện chuẩn?

+0

Sử dụng phiên bản thứ hai. – Falmarri

+0

Phiên bản 1.6 của python-daemon? –

Trả lời

10

tôi đã đi với Sander Marechal của A simple unix/linux daemon in Python, nó đơn giản, và bạn làm việc với nó bằng cách tạo ra một lớp con và trọng phương pháp run(), mà cảm thấy một cách rất tự nhiên để làm những việc (chứ không phải là cách tiếp cận with context: của python -daemon module.

1

Xoắn đi kèm với twistd.

http://twistedmatrix.com/documents/current/core/howto/basics.html

Bạn có thể đóng ứng dụng của mình dưới dạng plugin cho twistd.

+2

Không xoắn một yêu cầu khá lớn nếu tất cả những gì bạn muốn làm là tạo một Daemon? –

+0

Tôi đồng ý. Đối với một ứng dụng mới, nó đáng xem xét. –

1

để thực hiện một chương trình daemon sẽ làm việc một cách chính xác với các vận động viên khác nhau trong các hệ điều hành (ví dụ init, systemd, launchd), the python-daemon library là cách de facto viết chỉ là một phần daemon và để cho các hệ điều hành làm phần còn lại của công việc correctl y.

Các vấn đề liên quan