Tình huống mà tôi đang gặp phải là - có một quy trình đang ghi vào tệp, đôi khi tệp lớn hơn 400 - 500MB. Tôi cần biết khi nào nó được viết xong. Làm thế nào tôi có thể xác định điều này? Nếu tôi nhìn vào thư mục tôi sẽ thấy nó ở đó nhưng nó có thể không được thực hiện bằng văn bản. Ngoài ra, điều này cần được thực hiện từ xa - giống như trên cùng một mạng LAN nội bộ nhưng không phải trên cùng một máy tính và thường là quá trình muốn biết khi nào việc ghi tệp được thực hiện đang chạy trên một hộp Linux với quá trình ghi tệp và bản thân tệp trên hộp cửa sổ. Không samba không phải là một lựa chọn. xmlrpc giao tiếp với một dịch vụ trên cửa sổ hộp là một tùy chọn cũng như sử dụng snmp để kiểm tra xem đó là khả thi.Cần một cách để xác định xem tệp có được viết thành
Lý tưởng nhất
- trình trên Linux hay Windows - có nghĩa là giải pháp là hệ điều hành độc lập.
- Làm việc cho bất kỳ loại tệp nào.
Tốt đủ:
- trình chỉ trên cửa sổ nhưng có thể được thực hiện thông qua một số thư viện hay bất cứ điều gì mà có thể được truy cập với Python.
- Chỉ hoạt động đối với tệp PDF.
Ý tưởng tốt nhất hiện tại là định kỳ mở tệp được đề cập từ một số quy trình trên hộp cửa sổ và xem xét các byte cuối cùng kiểm tra thẻ kết thúc PDF và tính toán sự khác biệt về eol vì tệp có thể đã được tạo Linux hoặc Windows.
Có thể thấy điều này hữu ích: http://stackoverflow.com/questions/589407/python-how-to-check-if-a-file-is-used-by-another-application Kết hợp (1) với xmlrpc và có thể bạn đang kinh doanh. – gilesc
Cảm ơn gilsec đã thực sự cung cấp thực phẩm tốt cho tư tưởng. – Khorkrak