Tôi có hai quy trình riêng biệt: một chương trình C xuất ra các giá trị được tách nhau bằng dấu phẩy, sau đó là dòng mới mỗi giây và chương trình Perl chấp nhận dữ liệu (cùng định dạng) và xử lý dữ liệu này.Làm cách nào để cho phép hai quy trình đồng thời giao tiếp?
Các đầu ra chương trình C (thông qua printf) đánh giá cao như vậy:
1, 2, 3, 4, 5, 6
7, 8, 9, 10, 11, 12
...
Chương trình Perl ngồi trong một vòng lặp vô hạn chờ đợi theo phương pháp đường cho STDIN để xử lý dữ liệu này:
while ($line = <STDIN>)
{
chomp($line) # Line should now read "1,2,3,4,5,6"
# Process data
}
Tôi muốn hai quy trình này liên lạc trong thời gian thực. Ống bash tiêu chuẩn không hoạt động (ví dụ: process1 | process2) vì chương trình Perl chờ chương trình đầu tiên kết thúc trước khi xử lý đầu vào.
Có ai có bất kỳ ý tưởng, đề xuất hoặc thông tin chi tiết nào về giải pháp cho vấn đề này không? Cảm ơn bạn trước!
nói đúng, điều này không liên quan gì đến "thời gian thực" – andersoj
Bạn hoàn toàn đúng, tôi đã viết vội vàng và không thể nghĩ ra cách tốt hơn để giải thích cách tôi muốn các quy trình này hoạt động. Đồng thời có thể là một lựa chọn tốt hơn. –
Đồng thời tốt hơn nhiều và có nút chỉnh sửa để bạn sửa lỗi. – derobert