if(cmdstring == NULL){
return (1);
}
if((pid = fork())<0){
status = -1;
}
else if(pid = 0){
execl("/bin/sh", "sh", "-c", cmdstring, (char *)0);
-exit(127); //子进程正常执行则不会执行此语句
}
else{
while(waitpid(pid, &status, 0) < 0){
&nbs

本文详细介绍了如何在C语言中调用DOS命令,通过fork和execl函数实现子进程执行命令。当cmdstring为NULL时,函数直接返回;否则,创建子进程并用execl调用shell执行命令。同时,文章解释了fork的工作原理,以及在Windows和Linux中execl函数的差异。system函数在此过程中起到关键作用,允许执行DOS指令,但无法改变父进程的环境变量。

1512

被折叠的 条评论
为什么被折叠?



