fork~exec不会使用,请问怎么使用,我只是想简单的用进程调用一个程序。

aojunpeng313001 2005-01-13 09:04:43
麻烦大侠们了,小弟只想用fork~exec执行一个叫BAPU0019的程序,怎么用这两个东东呀.十万分的感谢大侠们了.
...全文
135 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
baggio24 2005-01-13
  • 打赏
  • 举报
回复
大体上是这个样子的:

if(fork()==0)
execl("路径","BAPU0019","参数",(char *)0);
blueflame 2005-01-13
  • 打赏
  • 举报
回复
char *opt1[] = {"BAPU0019", "-c", "2",……, NULL};

if ( fork () == 0 ) {
/* child */
if ( execvp ("/yourdir/BAPU0019", opt1) < 0 )
……
}

其中,"-c", "2",……, 是假设你的命令带有参数,执行的是:BAPU0019 -c 2

也可以这样:
sprintf(cmd, "/yourdir/BAPU0019");
if ((fp = popen(cmd, "r")) == NULL) {
……
return(-1);
}

建议楼主还是好好看看书吧
loveisbug 2005-01-13
  • 打赏
  • 举报
回复
随便摸本书翻翻
superAfx 2005-01-13
  • 打赏
  • 举报
回复
实在不行可以用system函数。
你要调用当前目录的程序abc,参数123:
system("./abc 123");
也可以使用绝对路径:
system("/usr/bin/gcc -v");

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧