Cách sạch sẽ và thanh lịch để thực hiện liên lạc giữa hai quá trình python khác nhau là gì? Tôi hiện đang sử dụng đường ống được đặt tên trong hệ điều hành, nhưng nó cảm thấy một chút hacky. Tôi đã viết lại các công cụ của mình với các dịch vụ dbus
, hoạt động, nhưng có vẻ như khi chạy mã từ xa thông qua một phiên SSH nó đang cố gắng khởi tạo X11 mà dường như hoàn toàn không cần thiết cho những thứ tôi muốn làm (chúng không liên quan đến GUI). Vì vậy, có lẽ dbus
là một chút quá nặng. Tôi sắp thiết kế lại bằng cách sử dụng ổ cắm, nhưng có vẻ khá thấp nên tôi nghĩ có thể có một mô-đun mức cao hơn tôi có thể nhập và sử dụng mà tôi không biết tên, và tôi nghĩ tôi nên hỏi về SO đầu tiên ..liên lạc giữa các quy trình trong python
Yêu cầu của tôi là có thể chạy python foo.py
và có quy trình đó chỉ cần thực hiện điều đó ở đó, như một daemon và có thể gửi tin nhắn tới số python foo.py --bar
. Cuộc gọi thứ hai sẽ chỉ gửi một thông điệp đến quá trình hiện có và chấm dứt, có thể với mã trả về 0
để thành công hay khác cho thất bại (do đó, một số giao tiếp hai chiều sẽ được yêu cầu).
cảm ơn, rất đẹp – wim
điều này có thể được sửa đổi để hoạt động trong môi trường đa luồng không? tôi có một số chủ đề công nhân kết nối ngay bây giờ, và nó dường như gây ra lỗi xác nhận trong mã zmq – wim
Bạn cũng có thể bọc zmq với pizco: https://pizco.readthedocs.io/en/latest/ –