怎么在C程序中调用shell脚本程序,并等待其执行完毕

如何在C程序中调用shell脚本程序,并等待其执行完毕
如题,请问如何在C程序中调用shell脚本程序,并等待shell脚本程序执行完毕,C程序才继续往下执行,谢谢!


pid_t pid = fork();

if (pid == 0) { // child process
execv(…); // call the shell script
} else { // parent process
waitpid(pid, …); // wait the child process to exit
}


system


system
popen,pclose
都可用


如果立即返回那应该是你的脚本立即就返回了,
这要看你的脚本如何写的了

execlp()
可以


popen吧, 好用.


popen和pclose是不是也是用类似exec的方法使用?
============================================
没错,pclose是这么做的,使用waitpid等待直到子进程结束后返回,popen和pclose方法最简单了,而且还可以把子进程的输出结果打印出来,如:
iRet = popen( "ls a.txt ");
可以直接从iRet文件描述符中读就可以了,不过要先判断iRet != NULL
,


system 应该可以的,如果是立即返回就是你自己的shell程序的问题。这个应该是顺序执行的。

怎么在C程序中调用shell脚本程序,并等待其执行完毕

相关文章:

你感兴趣的文章:

标签云: