Ich habe eine C++-Anwendung und muss wissen, ob eine Datei von jemandem verwendet wird. Ich kann jeden Shell-Befehl ausführen, aber ich möchte den Befehl lsof zu diesem Zweck nicht ausführen, da ich nicht sicher davon ausgehen kann, dass lsof auf allen Betriebssystemen verfügbar sein wird, oder kann ich das sicher annehmen?
Sie können davon ausgehen, dass es lsof
auf allen macOS ausgeliefert wird, und Sie können auch die Existenz dieses Befehls überprüfen, bevor Sie ihn aufrufen, indem Sie eine nette freundliche Fehlermeldung protokollieren und / oder eine Nachricht protokollieren, wie Sie es für richtig halten, wenn Sie defensiv codieren möchten.
Sie könnten auch auf einer codeorientierten Website fragen, welche API vorhanden ist, um das Vorhandensein von Dateien zu überprüfen, wenn Sie in einen bestimmten C++-Code einsteigen möchten (was hier nicht zum Thema gehört), aber ausgehend von Ihrer Frage können Sie jedes Befehlszeilentool aufrufen Ihr Das Gesamtdesign kann problemlos in einem C++-Programm unter macOS ausgeführt werden.
Mein Freund, Sie könnten lsof oder den eingebauten 'fuser' verwenden.
sudo fuser -fu [FILEPATH AND FILENAME]
F.
Fahrrad
Fahrrad