linux中system函数的返回值

3022阅读 0评论2009-07-22 piginthetree
分类:LINUX

刚用到system函数,要根据其返回值来做进一步操作,可是system的返回值并不等于其调用的程序的返回值,man了没看懂,后来在网上搜索了一下,终于看到了一个DX的理解,记录之。

引自:

要分成两部分来说: 
1,在程序中,用exit来设置进程的退出值时,虽然该函数的参数类型为int型,但再父进程中只能取到其值的低8位.所以用exit返回值时,高于255的值是没有意义的. 

2,对于system函数,返回值是由两部分组成的,低8位值表示所执行的脚本在执行过程中所接收到的信号值,其余的位表示的脚本exit退出时所设置的值, 

即脚本内exit退出是的值的低8位,在system返回值的低9-16位


这样我们就可以通过右移操作来得到exit的值了。

上一篇:没有了
下一篇:c语言编程有用的调试宏