深入了解Linux系统功能
系统(shell命令的执行)
相关函数
叉,execve,waitpid,Popen
头文件
我包括
定义函数
int系统(const char *字符串);
功能描述
(系统)会调用fork()产生的子进程,子进程调用/斌/执行字符串命令三黄中风康胶囊的字符串参数是一个字符串,所以在这生活的实现>然后返回原调用过程。系统调用期间(),暂时搁置的SIGCHLD信号的SIGINT和SIGQUIT信号将被忽略。
返回值
= 1:是错误的
= 0:调用成功,但似乎不是子进程。
> 0的子进程的ID:成功退出
如果系统调用()失败/斌/ SH时,则返回127,失败返回等原因-1.if参数字符串是一个空指针(空),非零返回值。
如果系统()被调用成功,它将执行shell命令后返回的返回值,但这个返回值也可以呼叫系统()返回127 /斌/ SH失效,所以最好再检查errno确认成功执行。
附加说明
编写程序时有SUID / SGID权限,不使用系统,系统()()将继承环境变量,环境变量可能会导致系统的安全问题。
例子
我包括
(主)
{
系统(LS铝 / / /密码等等/ shadow);
}
实施结果:
- rw-R -R - 1根705月313日:52 / /密码等
R --------- 1根572月215日:34 / /羊皮等
例2:
char { };
sprintf(TMP, /斌/安装- T VFAT %s / mnt / USB
系统(TMP);
发展/ dev /安装。