- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有这个基于 Python 的服务守护进程,它正在执行大量多路复用 IO(选择)。
从另一个脚本(也是 Python)我想查询这个服务守护进程的状态/信息和/或控制处理(例如暂停它、关闭它、更改一些参数等)。
使用 Python 发送控制消息(“从现在开始你这样处理!”)和查询处理后的数据(“结果是什么?”)的最佳方式是什么?
我在某处读到命名管道可能有用,但对命名管道了解不多,尤其是在 python 中——以及是否有更好的替代方案。
后台服务守护进程和前端都将由我编程,所以所有选项都是开放的:)
我正在使用 Linux。
câu trả lời hay nhất
管道和命名管道是不同进程之间通信的良好解决方案。管道的工作方式类似于共享内存缓冲区,但在两端各有一个模拟简单文件的接口(interface)。一个进程在管道的一端写入数据,另一个进程在另一端读取该数据。
命名管道与上面的类似,只是这个管道实际上与您计算机中的一个真实文件相关联。
详情请见
在 Python 中,命名管道文件是通过调用 os.mkfifo 创建的
x = os.mkfifo(filename)
在 child 和 parent 中打开这个管道作为文件
out = os.open(filename, os.O_WRONLY)
in = open(filename, 'r')
写
os.write(out, 'xxxx')
阅读
lines = in.readline( )
编辑:从 SO 添加链接
您可能想阅读更多关于“IPC 和 Python”的内容
关于python进程间查询/控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3806210/
Tôi có ba cái bàn. Bảng A có các tên tùy chọn (tức là màu sắc, kích thước). Bảng B có tên giá trị tùy chọn (ví dụ: xanh, đỏ, đen, v.v.). Bảng C thiết lập mối quan hệ bằng cách đặt id tên tùy chọn và id giá trị tên tùy chọn cùng nhau. Truy vấn của tôi cần hiển thị giá trị và tên của tùy chọn trong khi
Trong mysql, làm cách nào để đếm các ô không trống liên tiếp? Tôi chỉ muốn đếm các ô giữa các cột nhất định, chẳng hạn như giữa các cột 3-10. Không phải tất cả các cột... một lần nữa, chỉ trong hàng đó. Câu trả lời hay nhất Nếu bạn muốn làm điều này, thay vào đó chỉ cần sử dụng tên trong sql
đóng cửa. Câu hỏi này cần được hỏi tập trung hơn. Câu trả lời không được chấp nhận vào thời điểm này. Bạn muốn cải thiện vấn đề này? Đã cập nhật câu hỏi để chỉ tập trung vào một vấn đề chỉnh sửa bài đăng này. Đã đóng 7 năm trước. Cải thiện truy vấn này
Tôi đang thực hiện một truy vấn Elaticsearch cho phiên bản 7.6. Truy vấn của tôi như thế này: { "query": { "bool": { "nên": [ {
đóng cửa. Câu hỏi này cần được hỏi tập trung hơn. Câu trả lời không được chấp nhận vào thời điểm này. Bạn muốn cải thiện vấn đề này? Đã cập nhật câu hỏi để chỉ tập trung vào một vấn đề chỉnh sửa bài đăng này. Đã đóng 7 năm trước. Cải thiện truy vấn này
Có thể viết một truy vấn để kiểm tra xem có bất kỳ truy vấn con nào (nhưng không chỉ một) có đúng không? CHỌN * TỪ nhân viên e Ở ĐÂU KHÔNG Tồn tại (
Tôi đã tìm thấy rất nhiều câu trả lời cho vấn đề của mình nhưng vấn đề vẫn chưa được giải quyết. Tôi có bảng, có dữ liệu, ví dụ: Dữ liệu 1 Dữ liệu 2 Dữ liệu 3
Truy vấn sau đây trả về lỗi: Truy vấn: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE low(PersonEm
Truy vấn sau đây trả về lỗi: Truy vấn: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE low(PersonEm
Tôi nhận được giá trị Chuỗi từ EditText. và một nút để gửi truy vấn của bạn. Chuỗi sql=editQuery.getText().toString();// CHỌN * TỪ emmpl
Tôi có một truy vấn hoạt động ít nhiều (liên quan đến kết quả), nhưng phải mất khoảng 45 giây để xử lý. Điều này chắc chắn là quá dài để hiển thị dữ liệu trong GUI. Vì vậy, nhu cầu của tôi là tìm một truy vấn nhanh hơn/hiệu quả hơn (vài mili giây hoặc lâu hơn là tốt) bảng dữ liệu của tôi có khoảng 3000
Đây là lần đầu tiên tôi sử dụng Stack Overflow, vì vậy tôi hy vọng mình đặt câu hỏi này đúng cách. Tôi có 2 truy vấn SQL mà tôi đang cố gắng so sánh và xác định các giá trị bị thiếu, mặc dù tôi không thể thêm trường NULL vào truy vấn thứ hai để xác định các giá trị bị thiếu
Truy vấn SQL động là gì? Khi nào bạn cần sử dụng truy vấn SQL động? Tôi đang sử dụng SQL Server 2005. Câu trả lời hay nhất ở đây là một số bài viết: Giới thiệu về Dynamic SQL Dynami
bao gồm "mysql.php"; $query= "SELECT ID,name,displayname,pressed,summary,searchlink,im
Tôi có một truy vấn muốn "chuyển đổi" sang mysql. Đây là truy vấn: select top 5 * from (select id, firstName, LastName, sum(fileSize) as To
Qua nghiên cứu của mình, tôi nhận thấy rằng kể từ phiên bản EF 4.1 trở lên, phương thức .ToString() trên truy vấn EF sẽ trả về câu lệnh SQL được chạy. Trên thực tế, điều này rất hiệu quả đối với tôi khi sử dụng Entity Framework 5 và 6. Nhưng
Tôi gặp sự cố khi xây dựng truy vấn để thực hiện những việc sau: Lọc địa chỉ liên hệ theo hoạt động_type_id và chỉ hiển thị các sự kiện gần đây Địa chỉ liên hệ có bắt buộc phải có hoạt động_type_id hoặc NULL (không có sự kiện) Cấu trúc bảng như sau: Một địa chỉ liên hệ có thể
Làm cách nào để thông tin tôi nhập vào cơ sở dữ liệu tự cập nhật 5 phút sau khi nhập dữ liệu? Giả sử tôi có một bảng: +--+--+-------+ |id|ip|count| +--+--+------+ |
Tôi đang cố gắng tìm kiếm một ID có chính xác 4 chữ số, tôi biết tôi cần sử dụng hàm chuỗi LENGTH() nhưng không thể tìm thấy ví dụ về cách sử dụng nó. Tôi đang thử các cách sau (và các biến thể khác) nhưng chúng không hoạt động. CHỌN tối đa(car_id)
Tôi có một truy vấn sql (truy vấn + tham gia) hoạt động tốt trên mysql: select sum(pa.price) từ người dùng u , buy pu , pack pa Where (
Tôi là một lập trình viên xuất sắc, rất giỏi!