int sys(const char * cmdstring)
{
pid_t pid;
int status;
if(cmdstring == NULL){
return (1);
}
if((pid = fork())<0){
status = -1;
}
else if(pid == 0){
execl("/system/bin/sh", "sh", "-c", cmdstring, (char *)0);
}
else{
while(waitpid(pid, &status, 0) < 0){
break;
}
}
return status;
}
{
pid_t pid;
int status;
if(cmdstring == NULL){
return (1);
}
if((pid = fork())<0){
status = -1;
}
else if(pid == 0){
execl("/system/bin/sh", "sh", "-c", cmdstring, (char *)0);
}
else{
while(waitpid(pid, &status, 0) < 0){
break;
}
}
return status;
}
本文展示了一个使用C语言实现的简单进程控制示例。该示例通过调用fork()创建子进程,并利用execl()执行shell命令。此外,还演示了如何使用waitpid()等待子进程结束并获取其退出状态。
4677

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



