我想要一個類似於mountpoint命令Linux的函數或系統調用。
(此命令將檢查指定目錄是一個安裝點或沒有)函數或系統調用類似於linux中的「mountpoint」命令
1
A
回答
4
我不知道實際的系統調用,將做到這一點的,但你可以做的是比較目錄的設備編號,你想檢查和它的父母。這可以通過stat
完成。示例代碼(檢查省略錯誤):
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
int main(void) {
struct stat mp, mp_parent;
stat("/boot", &mp);
stat("/boot/..", &mp_parent);
if (mp.st_dev != mp_parent.st_dev)
printf("/boot is a mount point.\n");
else
printf("/boot is not a mount point.\n");
return 0;
}
1
是否需要這樣的功能,通常(但並非總是),你沒有擁抱了系統的抽象紅旗...你應該重新考慮你所做的一切。如果您在軟件中根據某個加載點是否有某種選擇進行選擇,請考慮將該替代行爲設置爲可通過腳本控制的參數。人們可以通過使用本地掛載點命令或任何其他參數化程序來採用該行爲。
隨着該聲明不談,這裏有mountpoint.c
實現:
http://fossies.org/linux/misc/sysvinit-2.88.tar.gz:a/sysvinit-2.88/src/mountpoint.c
...和 「測試文件類型」
+0
如果這個問題只是「這個目錄是一個掛載點」,那麼你可以說「如果是,卸載它」會怎麼樣呢?不知道如何抽象。 – stu
0
寫您參考自己的應用程序來解析/proc/mounts
。然後比較你的路徑從/proc/mounts
的路徑。如果它們相等,那麼路徑就是一個掛載點。
相關問題
- 1. 在linux中是否有類似於lsof命令的perl函數?
- 2. 用於查找系統調用的Linux命令
- 3. Linux命令或PHP函數?
- 4. php系統命令linux
- 5. C++ linux系統命令
- 6. 系統調用和命令
- 7. 什麼系統函數和cp命令在C/Linux中返回
- 8. Node.js - 調用系統命令或外部命令
- 9. 在linux中「xload」的類似命令將用於os x?
- 10. 在Linux中處理系統(命令)調用超時
- 11. 使用「系統」調用C(Linux)的執行wget命令
- 12. 在Linux命令行調用R函數
- 13. 命令,函數和系統調用之間的區別
- 14. 在linux(或POSIX)中的函數類似於win32 mem api
- 15. 用於Windows的類似NCurses的系統
- 16. Linux系統調用
- 17. 在adb shell中對linux tree命令的類似命令
- 18. Linux命令 - 調用參數
- 19. 從Java調用兩臺Linux系統的計算機之間的Linux shell命令
- 20. Linux系統:結合 「LS」 和 「CP」 命令
- 21. 如何實現類似於linux系統時鐘的c時鐘
- 22. Python函數類似來砸find命令
- 23. 調用Linux命令
- 24. 從C++調用底層系統命令
- 25. Strace命令只顯示系統調用
- 26. Python - 無法調用系統命令
- 27. Powershell調用命令和系統變量
- 28. 在PostgreSQL函數中使用參數運行系統命令
- 29. 用於通知系統的數據庫模式類似於Facebook
- 30. perl中的系統命令
感謝您的回覆。 –
但是如何比較設備編號回答我的問題? –
如果設備編號不相等,給定的路徑是一個安裝點。我真的不知道問題是什麼。 –