当前位置:  技术问答>linux和unix

system的返回值为什么总是乘以了256

    来源: 互联网  发布时间:2015-11-20

    本文导语:  a.sh #!/bin/sh exit 2 a.c int i; i=system("./a.sh"); printf("%d", i); 为什么i是512不是2? | 1、当status低7位=0时,表示正常退出,此时,status的高8位是return code 2、当status低7位=0x7f时,表示child结束,高8...

a.sh

#!/bin/sh

exit 2


a.c
int i;
i=system("./a.sh");
printf("%d", i);

为什么i是512不是2?

|
1、当status低7位=0时,表示正常退出,此时,status的高8位是return code
2、当status低7位=0x7f时,表示child结束,高8位是引起child结束的信号
3、当((status) & 0x7f) + 1) >> 1) > 0时,表示由信号引起结束,低7位表示信号
4、第8位(0x80)表示产生coredump

仅供参考

|
好像得用宏处理一下。

printf("%d",WEXITSTATUS(i));

看一下帮助页:
man system
man 2 wait

|
对。

    
 
 

您可能感兴趣的文章:

  • system()函数返回什么值时,该函数执行成功?返回什么值时,执行出现错误?谢谢
  • 在线等,请问system函数返回值是什么值,怎么判断system运行是否成功?
  • system() 返回值问题
  • 怎样获得system的返回值?
  • linux 下 system() 返回值--续
  • system函数返回值是5,是表示什么意思?
  • linux 下 system() 返回值
  • 关于程序里面system不返回的问题
  • linux下system函数调用shell命令后,怎样让主进程不等子进程返回,接着执行(在线)?
  • system()函数返回值0,但却没有执行成功?
  • 在Linux系统上recv返回错误,通过errno得到的错误消息为"Interrupted system call"
  • 请高手指点.关于system()函数不返回问题.<<含源码>>
  • 请问怎么才C语言中得到system调用的内核命令的返回信息???????????????????
  • 同样的程序,语句system在red3up9(32位)上运行正常,而在red4up5(64位)上运行却返回-1???
  • 关于用system去调用shell命令时获取的返回值的问题,急!!!!!
  • 为何int ret=system("cmd") 不能返回正确的返回值。
  • 在ubuntu下,system函数的返回值
  • C++中system函数返回-1的问题
  • 好奇怪,system()调用的返回值怎么得不到
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.sound.midi类shortmessage的类成员方法: system_reset定义及介绍
  • System.exit(0);和System.exit(1)有什么区别?
  • java命名空间javax.swing.text.html.parser接口dtdconstants的类成员方法: system定义及介绍
  • 请问System.out.print和System.out.printIn有什么不同?
  • java命名空间javax.sound.midi类sysexmessage的类成员方法: system_exclusive定义及介绍
  • 谁有 novell 3.12 的SYSTEM_1 和 SYSTEM_2 的软盘内容吗?[分不够可增加]
  • java命名空间javax.xml.transform类outputkeys成员方法: doctype_system定义参考
  • POSIX.1要求system忽略SIGINT和SITQUIT,阻塞SIGCHLD,求解释。UNIX环境高级编程 system函数
  • java命名空间javax.swing类jfilechooser的类成员方法: file_system_view_changed_property定义及介绍
  • 请问java.lang.System是一个类吧??那么System.out.print()中的out充当什么角色呢?还是类???
  • java命名空间java.lang.management类managementfactory的类成员方法: operating_system_mxbean_name定义及介绍
  • 现在用 System.exit(0) or System.exit(1) 来退出弹出窗口,但是连父窗口一起关闭(紧急求解)
  • java命名空间java.lang类system的类成员方法: in定义及介绍
  • System.out.println() 和System.err.println()有什么区别?THANKS
  • java命名空间javax.print.attribute.standard类jobstatereason的类成员方法: aborted_by_system定义及介绍
  • 深入解析System.load 与 System.loadLibrary
  • java命名空间java.lang类system的类成员方法: gc定义及介绍
  • catch异常的时候用System.out.print()和用System.err.print()来输出有什么区别啊?
  • java命名空间java.lang类system的类成员方法: console定义及介绍
  • system(command) 与 command 的区别
  • java命名空间java.lang类system的类成员方法: runfinalization定义及介绍
  • 请问,system.map有用吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3