У меня есть приложение С++, и мне нужно знать, используется ли кто-либо одним файлом. Я согласен с запуском любой команды оболочки, но я не хочу запускать команду lsof для этой цели, так как я не могу с уверенностью предположить, что lsof будет доступен во всех ОС, или я могу с уверенностью предположить это?
Вы можете предположить, что lsof
он поставляется на всех macOS, и вы также можете проверить существование этой команды перед ее вызовом, зарегистрировав приятное дружественное сообщение об ошибке или сообщение журнала по своему усмотрению, если вы хотите использовать защитный код.
Вы также можете спросить на сайте, ориентированном на код, какой API существует для проверки существования файла, если вы хотите перейти к конкретному коду С++ (который здесь не по теме), но из вашего вопроса, предполагая, что вы можете вызвать любой инструмент командной строки, ваш общий дизайн подходит для выполнения в программе на C++ в macOS.
Друг мой, ты можешь использовать lsof или встроенный «фьюзер».
sudo fuser -fu [FILEPATH AND FILENAME]
Ф.
bmike
bmike