c程序如何在退出时自动打印exit()返回值

时间:2017-10-09 13:48:32

标签: c printing return system-calls exit

我正在尝试从exit()systemcall打印出返回码。但是,由于程序退出,它没有机会打印出它将被杀死的东西。我的问题是如何在程序中打印返回代码。

y = syscall(NR_mycall); //makes an exit in this second
printf("%s\n", strerror(y));

正如预期没有输出! :U(

2 个答案:

答案 0 :(得分:0)

如果您从程序中的多个位置拨打exit(),并且想知道在这些退出调用中使用了哪个退出代码,那么请使用exit而不是setjmp main并在您的代码中使用longjmp,其中现在有exit并在longjmp调用中传递错误/退出代码。现在main将知道使用了哪个退出/错误代码。

答案 1 :(得分:0)

您无法打印退出状态。我建议在执行将打印它的文件后,使用echo $?检查终端中的退出状态。或者转到http://bashrcgenerator.com/并自行提示,并添加退出状态'让您每次都在提示中看到退出状态。