gpt4 book ai didi

python - linux `umount` 的返回码值是多少?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:39 28 4
gpt4 key购买 nike

所以我得到了一个 python 项目,其中有很多 Linux 系统调用来为定制的 NAS 挂载/卸载/格式化/等备份驱动器。

现在我想处理 umount 命令的输出并处理卸载路径的情况:

print subprocess.check_output(['umount', '/storage/backup'])

可能会返回:

umount: /storage/backup: not mounted
Command '['umount', '/storage/backup']' returned non-zero exit status 32

现在,我可以只解析输出字符串并搜索 not mounted,但我更愿意处理退出状态值(在本例中为 32)。我试图找到 umount 命令的退出代码列表,但到目前为止一直很不走运。
此外,我已经尝试查找 umount 的源代码,但未能找到它(谷歌一直将我指向 umount 命令的手册页或 mount.c 的源代码)

编辑

umount 的手册页有一个错误列表(非数字),例如:

  • EBUSY - 目标无法卸载,因为它正忙。
  • EFAULT - 用户地址空间之外的目标点。

然后:下面给出的错误值是由与文件系统类型无关的错误引起的。每种文件系统类型都可能有自己的特殊错误和特殊行为。 有关详细信息,请参阅 Linux 内核源代码

有什么建议吗?

最佳答案

来自 man mount :

RETURN CODES
mount has the following return codes (the bits can be ORed):

0 success

1 incorrect invocation or permissions

2 system error (out of memory, cannot fork, no more loop devices)

4 internal mount bug

8 user interrupt

16 problems writing or locking /etc/mtab

32 mount failure

64 some mount succeeded

The command mount -a returns 0 (all succeeded), 32 (all failed), or 64
(some failed, some succeeded).

关于python - linux `umount` 的返回码值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33167585/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com