代码之家  ›  专栏  ›  技术社区  ›  Abdurrahman Kutlu

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

  •  -2
  • Abdurrahman Kutlu  · 技术社区  · 8 年前

    我试图打印出exit()系统调用的返回代码。但由于程序退出,它并没有机会打印出它将被杀死的内容。我的问题是如何在程序中打印返回代码。

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

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

    2 回复  |  直到 8 年前
        1
  •  0
  •   Paul Ogilvie    8 年前

    如果你打电话 exit() 从程序中的多个位置,您想知道这些退出调用中使用了哪些退出代码,然后不要使用 exit setjmp 在里面 main 和使用 longjmp 在你的代码中 出口 并在 呼叫现在,main将知道使用了哪个退出/错误代码。

        2
  •  0
  •   josemartindev    8 年前

    无法打印退出状态。我建议您使用 echo $? 执行将打印它的文件后。或转到 http://bashrcgenerator.com/ 并为自己制作一个个人提示,添加“退出状态”,以便您每次都能在提示中看到退出状态。