【问题标题】:mount command pid挂载命令pid
【发布时间】: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 命令不会这样做。
  • 感谢您的澄清..我将关闭此线程。

标签: python mount pid


【解决方案1】:

正如 cmets 建议的那样,我不确定获取挂载 pid 有多大用处,但如果您使用 subprocess 模块,您可以轻松获取 pid。

>>> import subprocess
>>> p = subprocess.Popen("ls", shell=True)
>>> p.pid
4136
>>>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多