我试图在python程序中运行一组bash脚本命令。我必须逐个运行命令并处理每个命令的错误和异常。为此,我使用与call
功能波纹管的subprocess
模块:在python中运行bash命令并处理错误
result = subprocess.call("echo testing", shell = True)
预期这个命令打印“测试”和设置的result
的值设置为0,这意味着已成功执行的命令。或者,在以下命令的情况:
result = subprocess.call("echso testing", shell = True)
它打印“/ bin/sh的:1:echso:未发现”,并设置的result
到127的数值,这意味着命令echso
是无效的。 我的问题是,我可以在哪里找到这些错误编号的完整列表,以及可以用于错误处理的描述?到目前为止,我发现一个退出错误列表如下:
1: general errors
2: misuse of shell builtins (pretty rare)
126: cannot invoke requested command
127: command not found error
128: invalid argument to “exit”
128+n: fatal error signal “n” (for example, kill -9 = 137)
130: script terminated by Ctrl-C
这是全部,还是你知道更多的错误代码与描述?
该列表中你是因为它得到一样好。每个程序都可以自由使用它想要的任何退出代码。除了“非零等于错误”之外,你实在无法依赖任何东西。也就是说,你可以捕获'stderr'并提供给用户。 – kindall 2014-12-05 14:42:54
可能的重复http://stackoverflow.com/questions/1101957/are-there-any-standard-exit-status-codes-in-linux – runDOSrun 2014-12-05 14:45:36