Kalombyr
@Kalombyr

Как можно проверить, что файл не используется другой программой ( и не запущен, если выполняемый)?

Доброго дня!
Нужно как-то проверить, что файл не открыть в другой программе, либо не используется как подключаемая библиотека, либо файл не запущен на выполнение, если это выполняемый.
Пока что я вижу только как вариант попробовать его удалить и вернуть на место.
Может есть более разумные способы? Интересует в основном под Windows, но хотелось бы и кроссплатформенно.
  • Вопрос задан
  • 71 просмотр
Решения вопроса 2
Zoominger
@Zoominger
System Integrator
Пока что я вижу только как вариант попробовать его удалить и вернуть на место.

Лучше попытаться переименовать.
Это довольно быстрый и универсальный, в вашем случае, метод.
Ответ написан
@rPman
Используйте fopen флаг l или на уже открытом файле попытайтесь заблокировать на эксклюзивное использование fcntl, если произойдет ошикбка на открытие файла на чтение - значит он уже открыт
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы