当前位置: 技术问答>linux和unix
在线等,请问system函数返回值是什么值,怎么判断system运行是否成功?
来源: 互联网 发布时间:2015-08-16
本文导语: 如题,当system调用的程序返回1时,system的函数返回值为什么是256? | system的返回值是被编码的,程序的返回值放在system返回值的高16位,我想这就是返回而得到256的原因吧。 这种情况下还是...
如题,当system调用的程序返回1时,system的函数返回值为什么是256?
|
system的返回值是被编码的,程序的返回值放在system返回值的高16位,我想这就是返回而得到256的原因吧。
这种情况下还是使用popen、pclose吧
这种情况下还是使用popen、pclose吧
|
man waitpid或查APUE
设status表示system()的返回值,可用WIFEXITED(status)判断程序是否正常退出,如果正常退出的话,则可用WEXITSTATUS(status)获取程序的返回值(status低16位的高8位)。
可以自己看看系统中的WIFEXITED()/WEXITSTATUS()的实现。
设status表示system()的返回值,可用WIFEXITED(status)判断程序是否正常退出,如果正常退出的话,则可用WEXITSTATUS(status)获取程序的返回值(status低16位的高8位)。
可以自己看看系统中的WIFEXITED()/WEXITSTATUS()的实现。
|
If the string parameter is NULL, the system() function returns 0 if it is
unable to access the command interpreter or a non-zero value if sh is
accessible.
If the string parameter is not NULL, upon successful completion by sh, the
system() function returns the exit status of the shell process in the form
that wait(2) returns. Otherwise, the system() function returns a value of
-1 and sets errno to indicate the error.
unable to access the command interpreter or a non-zero value if sh is
accessible.
If the string parameter is not NULL, upon successful completion by sh, the
system() function returns the exit status of the shell process in the form
that wait(2) returns. Otherwise, the system() function returns a value of
-1 and sets errno to indicate the error.