我試圖在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