popen函数
函数原型:
FILE * popen(conste char * command, const char * type);
函数说明:popen()会调用fork()生成子进程,在子进程中调用/bin/sh -c来执行参数command的指令,command对应的指令与在终端命令行中输入的命令相似如:“ls - l”、"/tmp/load_usb.sh"等
参数:
type:可使用“r”或者"w",分别代表读取及写入,但由于popen是以创建管道的方式创建进程连接到子进程的标准输出设备或标准输入设备,因此其带有管道的一些特性,同一时刻只能定义为写或者读。
command:如其名,单纯是一个命令字符串指针。
返回值:文件指针,函数执行成功返回文件指针,否则返回NULL。
在使用我们可以使用popen函数运行开机初始化设备时所需要加载的驱动脚本,比如:
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE * fp;
char buffer[1024];
sprintf(buffer, "/customer/sys_ko/load.sh");
fp = popen(buffer, "r");
pclose(fp);
return 0;
}
执行此程序后系统会执行/customer/sys_ko/目录下的脚本文件load.sh