首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

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

2012-02-09 
如何在C程序中调用shell脚本程序,并等待其执行完毕如题,请问如何在C程序中调用shell脚本程序,并等待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程序的问题。这个应该是顺序执行的。

热点排行