我正在尝试从exit()systemcall打印出返回码。但是,由于程序退出,它没有机会打印出它将被杀死的东西。我的问题是如何在程序中打印返回代码。
y = syscall(NR_mycall); //makes an exit in this second
printf("%s\n", strerror(y));
正如预期没有输出! :U(
答案 0 :(得分:0)
如果您从程序中的多个位置拨打exit()
,并且想知道在这些退出调用中使用了哪个退出代码,那么请使用exit
而不是setjmp
main
并在您的代码中使用longjmp
,其中现在有exit
并在longjmp
调用中传递错误/退出代码。现在main将知道使用了哪个退出/错误代码。
答案 1 :(得分:0)
您无法打印退出状态。我建议在执行将打印它的文件后,使用echo $?
检查终端中的退出状态。或者转到http://bashrcgenerator.com/并自行提示,并添加退出状态'让您每次都在提示中看到退出状态。