当前位置: 技术问答>linux和unix
关于 system(char *)
来源: 互联网 发布时间:2015-02-22
本文导语: 调用system()函数后,如何得知命令执行是否成功? | 命令执行不成功 ^^^^^^^^^^^^^^^ 指的是什么命令?只要执行了你的程序命令。system就是成功的。 当然你的程序里面如果逻辑失败或异常要exit (-1) -1是错误码...
调用system()函数后,如何得知命令执行是否成功?
|
命令执行不成功
^^^^^^^^^^^^^^^
指的是什么命令?只要执行了你的程序命令。system就是成功的。
当然你的程序里面如果逻辑失败或异常要exit (-1) -1是错误码的。
这样才能够返回给system的。明白了么?
^^^^^^^^^^^^^^^
指的是什么命令?只要执行了你的程序命令。system就是成功的。
当然你的程序里面如果逻辑失败或异常要exit (-1) -1是错误码的。
这样才能够返回给system的。明白了么?
|
返回127表示调用/bin/sh失败
返回-1表示其它错误
其它值就是命令执行的返回码
注意127也有可能是命令执行的返回码,所以要检查errno的值
返回-1表示其它错误
其它值就是命令执行的返回码
注意127也有可能是命令执行的返回码,所以要检查errno的值
|
system()由fork,exec,waitpid组成,所以有三种返回值:
1,如果fork失败或者waitpid返回了除EINTR之外的出错,则system返回-1,而且errno中设置了错误类型.
2,如果exec失败,则返回值如同shell执行了exit(127)一样.
3,否则所有三个函数都成功,则system的返回值是shell的终止状态.
1,如果fork失败或者waitpid返回了除EINTR之外的出错,则system返回-1,而且errno中设置了错误类型.
2,如果exec失败,则返回值如同shell执行了exit(127)一样.
3,否则所有三个函数都成功,则system的返回值是shell的终止状态.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。