我想要一个类似于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中的系统命令
感谢您的回复。 –
但是如何比较设备编号回答我的问题? –
如果设备编号不相等,给定的路径是一个安装点。我真的不知道问题是什么。 –