【发布时间】:2010-04-14 06:08:21
【问题描述】:
尝试挂载设备并获取挂载命令的pid。
cmd="/bin/mount /dev/sda1 /mnt"
os.system(cmd)
现在如何获取mount命令的pid?我的系统上有大量可用的已安装设备,ps | grep mount 之类的设备无法正常工作。
【问题讨论】:
-
为什么需要 PID? mount 命令将完成并且控制将返回到 Python 脚本,然后您才能对其使用 PID 进行任何操作。特别是,您不太可能在“ps”列表中找到它。
-
我认为使用 pid 我可以终止挂载进程 - 即使用 pid 我想卸载它。这不可能吗?
-
不,这就是 umount(8) 的用途。
-
mount命令执行mount()系统调用并退出。即使执行挂载的进程已终止,文件系统仍保持挂载。正如@msw 所指出的, umount 命令用于执行 umount() 系统调用以卸载文件系统。此外,如果 mount 命令确实挂起,您将不得不等到它死亡,然后 os.system() 语句/函数返回到您的脚本 - 除非 mount 命令通过守护进程来完成其工作(fork,父退出,孩子仍然要做自己的事情)。但是,这不是必需的,因此 mount 命令不会这样做。
-
感谢您的澄清..我将关闭此线程。