Vì vậy, tôi cần chia sẻ các biến môi trường giữa các shell và rằng các thay đổi trên các biến sẽ được nhận ra kịp thời bởi tất cả các shell, như các biến toàn cục. Nhưng chúng phải liên quan đến một PID chính, vì vậy tôi có thể có 2 tập lệnh shell đang chạy, mỗi tập lệnh là một chủ có cùng tên biến toàn cục và nó sẽ chỉ thay đổi biến liên quan đến PID chính của chúng.
Tôi sử dụng bash
cho kịch bản.
Các nghiên cứu hiện tại của tôi là:
Các mô-đun
tôi đọc tôi có thể sử dụng dự án mô-đun cho điều đó: http://modules.sourceforge.net/ , nhưng tôi gặp khó khăn lớn khi cố gắng thực hiện, có vẻ như thiếu ví dụ? còn "mô-đun" là một từ quá chung chung, rất khó để tìm hiểu về google vì trộn lẫn với nhiều thứ khác. Sau vài tuần, tay tôi vẫn trống rỗng
Tệp nguồn văn bản đơn giản
Tôi cũng đọc Tôi nên sử dụng một tệp văn bản đơn giản để lưu trữ / cập nhật / đọc các biến từ, như một tệp tập lệnh nguồn, sử dụng flock
quá để tránh ghi đồng thời. Nhưng có những vấn đề liên quan đến việc đó, như thay đổi đồng thời biến 2 đồng thời.
Ngoài ra,
tôi biết rằng sau khi một biến "toàn cầu" được đọc bởi shell, nó sẽ giữ giá trị đó cho đến khi một lần đọc khác được thực hiện; và một shell khác có thể thay đổi nó theo nghĩa trung bình trong khi quá
có thể là một ứng dụng bên ngoài rất nhanh có thể cung cấp lưu trữ như vậy và chúng ta sẽ không thử sử dụng các biến môi trường như toàn cầu? nhưng tôi đoán là bất kỳ giải pháp SQL nào cũng sẽ quá chậm
ln -s realfile lockfile
trạng thái thoát thất bại sẽ chỉ làm những gì bạn nói "đợi một vài mili ...", không có khóa họ sẽ không chờ đợi để cập nhật; nhưng nỗ lực cập nhật đồng thời đó có một lỗ hổng; một quy trình có thể ghi đè lên bản cập nhật mới nhất của quy trình khác, tôi vẫn cần chuẩn bị một trường hợp thử nghiệm để làm việc với nó ...