当前位置:  技术问答>linux和unix

急急急!!!如何使C程序中循环调用linux的程序而不退出?

    来源: 互联网  发布时间:2015-12-26

    本文导语:  我在linux中写了一个小程序,调用curl抓取网页,但是循环中只能执行一次就会跳出循环不能再继续执行了,请问有什么方法解决没有? 程序如下 #include  #include  #include  main(int argc,char *argv[]) { int i,j; char *argv1[]={"cu...

我在linux中写了一个小程序,调用curl抓取网页,但是循环中只能执行一次就会跳出循环不能再继续执行了,请问有什么方法解决没有?
程序如下
#include 
#include 
#include 
main(int argc,char *argv[])
{
int i,j;
char *argv1[]={"curl","-o","/www/abc.html","http://www.abc.com/new.html",(char *)0};
i=(int)argv[0];
j=0;

while(1)
{
execv("/usr/local/curl/bin/curl",argv1);
//perror("why:");
printf("%dn",j);
sleep(5);
//end=clock();
j++;
printf("%d",j);
}
}

|
exec后,被exec的程序会完全覆盖原程序进程空间,所以你的while循环无效。

用fork(),子进程exec,父进程等待即可。
while (1)
{
    pid = fork();
    if (pid == 0)
    {
           exec(....);
    }
    else
    {
           wait();
    }
    ...
}
或者图简单用system("/usr/local/curl/bin/curl -o xxxx .. ");

    
 
 

您可能感兴趣的文章:

  • 在Python中使用SWIG调用C和C++程序
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 我自己写了一个一个程序,文件名叫test。。怎么能够像调用系统命令那样子去调用我这个命令呢。在任何地方输入test就能执行这个程序。
  • SHELL 编程时要求用分模块编写各应用程序,然后由主菜单程序调用各子程序模块。主菜单如何调用子程序的呢?
  • unix程序中调用其他程序的问题
  • linux 里怎么在程序里调用其他程序?
  • 程序调用脚本,脚本启动另一个程序,如何让原始程序彻底释放资源?
  • C程序中调用Shell程序
  • 如何让java调用外部程序,并且不等待外部程序执行完毕,直接返回?
  • 急!请问有分析java程序性能瓶颈的工具吗?例如,统计 java 程序中函数调用次数?
  • Linux 编程:在程序中调用另外的程序,让它在后台工作。
  • [100分]如何在GTK下编写的程序中调用shell下的批处理程序[高手进]
  • 如何通过java程序调用vb程序
  • AIX 5.3下调用windows 2000上的exe程序,且AIX下需要得到windows下程序执行的返回结果
  • 内核空间能否调用用户空间程序?
  • 应用程序如何调用sd卡
  • 如何查看子进程调用其它程序后的程序段与数据段地址
  • go和python调用其它程序并得到程序输出
  • 请教一下在驱动里怎么调用应用程序
  • 请教高手,如何在java中调用其他应用程序(该程序主要进行数据库操作)
  • 怎么在应用程序中调用一个脚本??
  • 程序进入死循环,怎么能退出来?
  • 程序死循环了
  • 如何停止进入死循环的程序?
  • shell程序 控制时间循环 !!!!
  • shell脚本for循环中如何调用别的程序?
  • ”整型变量j说明为volatile,这样就阻止了优化程序除去循环语句“ 这么理解这句话,为什么会除去循环语句?
  • 退出 DOS 死循环的小程序
  • gtk程序中怎么添加一个循环事件?
  • 这段程序为什么只循环一次?只取第一条记录
  • 这个程序为什么会死循环?(附源代码)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • 程序员的八种级别,你属于哪一级?
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • 在docker容器中通过apt-get安装新的程序
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • linux下通过crond实现自动执行程序
  • 在java控制台程序中,可以用System.exit(0);使用一个程序终止,那么在servlet中如何使一个servlet程序终止呢?
  • http协议介绍,文件上传分析及程序举例
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间
  • 程序员赚钱致富的6种方法
  • linux下,一个程序如何向另一个程序发送消息,另一个程序如何接收
  • HASH查找的程序实现及性能分析
  • jsp程序运行一次后,再修改原jsp程序,为什么运行还是的还是原来的程序??
  • 程序员为了健康必看!早晨空腹喝水,是对还是错?
  • 请教!Linux系统C开发的程序,为什么我的程序运行时内存持续增长,程序退出后内存也没有降低?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3