我试图从exit()systemcall打印出返回码。但是由于程序退出,它没有机会打印出将被杀死的东西。我的问题是,如何在程序中打印返回代码。c程序如何在退出时自动打印退出()返回值
y = syscall(NR_mycall); //makes an exit in this second
printf("%s\n", strerror(y));
正如预期的那样没有输出! :U(
我试图从exit()systemcall打印出返回码。但是由于程序退出,它没有机会打印出将被杀死的东西。我的问题是,如何在程序中打印返回代码。c程序如何在退出时自动打印退出()返回值
y = syscall(NR_mycall); //makes an exit in this second
printf("%s\n", strerror(y));
正如预期的那样没有输出! :U(
如果调用exit()
从你的程序的多个地方,你想知道哪个退出代码在这些退出调用中使用,然后而是采用exit
,在main
使用setjmp
,并在你的代码中使用longjmp
现在有exit
,并在longjmp
调用中传递错误/退出代码,现在main会知道使用了哪个退出/错误代码
你不能打印退出状态,我推荐的是检查退出状态在你的终端上输入echo $?
后执行一个文件打印出来,或者去http://bashrcgenerator.com/并且给自己一个个人提示并添加'退出状态'让您在每次提示时都能看到退出状态。
你不能。你为什么想要? –
为什么?听起来像一个XY问题!你的程序在调用'exit()'时传递返回码,所以为什么不在*之前打印*? –
问问自己:我可以自杀,然后去酒吧? –