У меня есть программа c, которая работает в потоке и добавляет некоторые данные в файл. Я хочу запустить поток python, который скопирует тот же файл (который пишет c поток) через некоторый промежуток времени. Есть ли безопасный способ сделать это? Я делаю это в ОС Linux.Python поток, ожидающий копирования файла
ответ
В вашем сценарии есть много важных деталей, которые не упоминаются, но при условии, что вы не можете записать механизм блокировки в программу C, а затем использовать его в программе Python (например, , вы используете существующее приложение в своей системе), вы можете посмотреть в os.stat и проверить последнее измененное время m_time. Это, конечно, зависит от того, что вы знаете, что последнее m_time означает, что файл не будет снова открыт в программе C и снова используется.
Если дескриптор файла постоянно хранится в программе на C во все времена и иногда записывается, то есть не так много простых опций для того, чтобы знать, когда это так и не написано.
c поток пишет файл каждые 2 секунды, но мой поток python не копирует файл, а в течение 2 секунд c-поток освобождает все блокировки из файла, почему? –
Зачем вам нужно скопировать файл в _Python_ в частности? Почему бы просто не запускать 'rsync' периодически для этого? –
Как я могу это сделать с помощью rsync? –
- 1. Как возобновить поток, ожидающий ресурса?
- 2. Kinesis поток ожидающий сообщение счет
- 3. Ошибка копирования копии файла Python
- 4. COBOL ожидающий конец файла
- 5. Python, ожидающий бесконечный цикл
- 6. C - Pthread_cond_signal - длинный ожидающий поток сигнала
- 7. Гарантируется ли, что pthread_cond_signal просыпает ожидающий поток?
- 8. Как поток, ожидающий mutex, возвращается к запуску?
- 9. Изящно заканчивая поток, ожидающий очереди блокировки
- 10. Как убить поток, ожидающий синхронизированного ресурса?
- 11. Почему не ожидающий поток, активированный сигналом All?
- 12. Как прервать ожидающий поток C++ 0x?
- 13. Можно ли вызывать на ожидающий поток?
- 14. C++ поток прерываний, ожидающий ввода пользователя
- 15. Как остановить поток, ожидающий клиента для .connect()?
- 16. Отправка инструкций в поток, ожидающий TCP?
- 17. Как уведомить ожидающий поток без приостановки основного?
- 18. Получение времени копирования файла в папку (Python)
- 19. Как использовать Python для предотвращения копирования файла?
- 20. Поток данных в hdfs напрямую без копирования
- 21. Python json.loads ValueError, ожидающий разделитель
- 22. python: как перенаправить вывод файла в поток
- 23. python: чтение исполняемого файла stdout, сломанный поток
- 24. Как дождаться полного копирования файла?
- 25. Python: печать файла в поток как изменения файла
- 26. Может ли другой поток вводить монитор, а ожидающий уведомляется?
- 27. Как сделать поток, ожидающий чужих результатов в java?
- 28. Java-исполнители: Как уведомить один ожидающий поток в executer?
- 29. Как убить поток, ожидающий вызова функции блокировки в Java?
- 30. Как я могу завершить вторичный поток, ожидающий объекта
Один из вариантов заключается в блокировке файла: http://stackoverflow.com/questions/489861/locking-a-file-in-python –
Зачем вам нужно копировать файл? –