linux 下 system 返回值

linux 下 system 返回值

ID:13044711

大小:27.00 KB

页数:5页

时间:2018-07-20

linux 下 system 返回值_第1页
linux 下 system 返回值_第2页
linux 下 system 返回值_第3页
linux 下 system 返回值_第4页
linux 下 system 返回值_第5页
资源描述:

《linux 下 system 返回值》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、linux下system返回值1.10What'sthereturnvalueofsystem/pclose/waitpid?1.10system/pclose/waitpid的返回值是什么?Thereturnvalueofsystem(),pclose(),orwaitpid()doesn'tseemtobetheexitvalueofmyprocess...ortheexitvalueisshiftedleft8bits...what'sthedeal?system(),pclose(),或waitpid()的返回值不像是我

2、的进程的退出值……或者退出值被左移了8位……怎么回事?/*??说了什么,我也不知道呀*/Themanpageisright,andsoareyou!Ifyoureadthemanpageforwaitpid()you'llfindthatthereturncodefortheprocessisencoded.Thevaluereturnedbytheprocessisnormallyinthetop16bits,andtherestisusedforotherthings.Youcan'trelyonthisthough,not

3、ifyouwanttobeportable,sothesuggestionisthatyouusethemacrosprovided.Theseareusuallydocumentedunderwait()orwstat.Manpage是对的,你也是!如果你阅读了waitpid()的manpage,就会发现进程的返回值是经过编码的。返回值只有高16位是正常的,剩下的被用作其他用途。你不可以依赖这个思路,除非你不考虑移植性。建议使用提供的宏。记载在wait()或wstat的联机手册里。*/[不懂不懂!不懂不懂!]Macrosdef

4、inedforthepurpose(in`')include(statisthevaluereturnedbywaitpid()):为此定义的宏(在)包括(stat是waitpid()的返回值):WIFEXITED(stat)Nonzeroifchildexitednormally.非零如果子程序正常退出WEXITSTATUS(stat)exitcodereturnedbychild子程序返回exit值WIFSIGNALED(stat)Non-zeroifchildwastermi

5、natedbyasignal非零如果子进程被一个信号结束WTERMSIG(stat)signalnumberthatterminatedchild结束子进程的信号number/*signalnumber怎么翻译呀*/WIFSTOPPED(stat)non-zeroifchildisstopped非零如果子进程被停止WSTOPSIG(stat)numberofsignalthatstoppedchild停止子进程的signalnumber.WIFCONTINUED(stat)non-zeroifstatuswasforcontin

6、uedchild非零如果状态是继续运行的子进程WCOREDUMP(stat)IfWIFSIGNALED(stat)isnon-zero,thisisnon-zeroiftheprocessleftbehindacoredump.如果WIFSIGNALED(stat)非零,而且进程产生了一个coredump,那么这个也是非零。[WIFSIGNALED(stat)和coredump是否有先后次序?]我在进程A里用system()调用进程B..我希望进程A能得到进程B执行出错后对应返回值..望高人指点一下..在线等....网友回复:要

7、分成两部分来说:1,在程序中,用exit来设置进程的退出值时,虽然该函数的参数类型为int型,但再父进程中只能取到其值的低8位.所以用exit返回值时,高于255的值是没有意义的.2,对于system函数,返回值是由两部分组成的,低8位值表示所执行的脚本在执行过程中所接收到的信号值,其余的位表示的脚本exit退出时所设置的值,即脚本内exit退出是的值的低8位,在system返回值的低9-16位.Linux中调用system的返回值包含文件#include#include#include

8、rrno.h>先写一个被调用的函数==================================#includeintmain(){printf("Return10.");return10;}====================

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。