エラーを生成する実行可能バイナリを実行しようとしています。 popenのを使用して、バイナリの実行のための私のコード:これはエラーを発生させることになっているPythonのサブプロセスPopenがエラーコード0以外のエラーコードを返します。
p = Popen(cmd, stdout=PIPE, stderr=PIPE, shell=True)
output, error = p.communicate()
return_code = p.returncode
if error:
raise SomeLocallyDefinedError
時にエラーでスクリプトの実行結果。この特定の場合のcmdは、関連する実行可能バイナリへのパスです。今
それは私にエラーMSG
「浮動小数点例外:8」を与える./binary_file私は私の端末で、これは非常にバイナリを実行します。
しかし、Popenでスクリプトを実行すると、エラーも出力もありません。しかし戻りコードは-8です。私はゼロ以外のリターンコードはエラーを意味し、そうであればPopen.communicate()によってメッセージがキャプチャされなかったのはなぜですか?
実行可能なバイナリファイルが何であるか疑問に思っている場合に備えてください。バイナリファイルは、実行時エラーを引き起こすcファイルのコンパイルによって生成されました。ここにはCファイルの内容があります
# include<stdio.h>
int main(){
int a = 18;
int b = 0;
int c = a/b;
printf("%d", c);
}