命令返回了非零退出状态9

时间:2019-07-19 16:48:23

标签: python-3.x subprocess

我正在使用Windows 10。 我写了下面的代码来自动备份关键文件。 它是python模块的一部分,该模块作为ms-dos批处理文件的一部分启动。

当脚本到达第3节中显示的代码时,它将返回一条隐秘消息: 命令'['WinRAR.exe',(...)]返回非零退出状态9。

不可能更多地了解根本原因以及“退出状态9”背后的原因。

在检查子流程文档中是否有任何可能的“退出状态9”的根本原因后,我查看了Stack,最后用谷歌搜索了它。 我没有什么可以知道要调查什么的。

如果FileName1不在Dropbox_archives中:     print(“压缩” + FileName1)     尝试:         subprocess.check_call([“ WinRAR.exe”,“ U”,“ -ibck”,“ -r”,“ -s”,“ -t”,“ -inul”,“ -m5”,“ -rr3P”, “ -y”,“-pPwd00”,“ F:\ 10。摘要\” + FileName1,“ C:\ Users \ JCF \ Dropbox \ *。*”])

    except subprocess.CalledProcessError as err:
        print(err)

此代码应创建一个名称为(FileName1)的Winrar存档,其中包含创建存档的日期。

由于使用了try /包装程序,我在命令提示符窗口中收到了消息。

2 个答案:

答案 0 :(得分:0)

现在,无需更改即可使用相同的脚本。然后,此“退出状态9”可能是由于某些Windows上下文状态,例如可用进程或内存的数量。 不幸的是,我没有找到任何有关此数字'9'背后的内容的文档,也没有任何有关如何检索从命令行发送回的实际消息(而不是此退出状态)的提示。

答案 1 :(得分:0)

错误代码由WinRAR返回。它与您的Python解决方案没有直接关系(但可以间接相关)。搜索代码的含义时,您可以找到:

9   File create error.

(位于https://chmlib.com/WinRAR/html/HELPExitCodes.htm。)尝试从命令行运行完全相同的WindRAR命令。原因可能更明显。