У меня есть приложение на C ++, и мне нужно знать, используется ли один файл кем-либо. Я в порядке с выполнением любой команды оболочки, но я не хочу запускать команду lsof для этой цели, так как я думаю, что не могу с уверенностью предположить, что lsof будет доступен на всех ОС, или я могу с уверенностью предположить, что это?
macos
command-line
filesystem
development
Коротышка
источник
источник
Ответы:
Вы можете предположить, что он
lsof
поставляется на всех macOS, и вы также можете проверить существование этой команды, прежде чем вызывать ее, записав приятное дружеское сообщение об ошибке и / или записав сообщение, как считаете нужным, если вы хотите защищать код.Вы также можете спросить на сайте, ориентированном на код, какой API существует, чтобы проверить существование файла, если вы хотите перейти к конкретному коду C ++ (который здесь был бы не по теме), но, исходя из вашего вопроса, предполагая, что вы можете вызвать любой инструмент командной строки, ваш В целом проект можно выполнить в программе на C ++ на macOS.
источник
Мой друг, вы можете использовать lsof или встроенный 'fuser'.
F.
источник