linux下popen(linux popen system 超时问题)

2024-07-13 18:04:54 42

linux下popen(linux popen system 超时问题)

本文目录

linux popen system 超时问题

一个方法是:信号+子进程的方法...显得比较繁琐...定义一个全局变量,作为标志位fork,让子进程去执行系统调用...然后父进程调用alarm,设置周期为20秒,这样每隔20秒会收到一个SIGALRM;然后注册SIGALRM和SIGCHILD这两个信号的处理函数,可以让其中一个信号处理函数去修改全局变量..(子进程返回时候父进程会收到一个SIGCHILD信号)再然后,调用sigsuspend让父进程休眠,设置好信号掩码,保证两个信号可以唤醒父进程--SIGALRM和SIGCHILD。然后就是你父进程被某个信号唤醒了...此时就判断是怎么被唤醒(用刚才那个全局变量判断)...要是SIGALRM,就说明超时了.要是SIGCHILD就说明没超时...后面就是你自己的事情了.两种情况分别处理呗..当然,另外一种简单的方法(比较耗费CPU)...还是需要子进程...先fork,然后调用waitpid,设置为立即返回,这样可以立刻判断子进程的状态,然后若时间没超出你的要求,就继续waitpid,直到时间超出20秒或者子进程在时限之前返回...这样轮询显然非常浪费CPU...(如何判断可以 man waitpid)别的方法...我也想不出来了...

linuxC关于popen、pclose

这个函数的功能应该是读取当前目录下的内容的popen可以启动一个新的进程,ls -l则是要启动进程得程序名和参数,ls -l当然即使列出目录的意思咯"r"是代表调用进程可以通过返回的文件指针读取到新启动的进程的输出。也可以是"w",这样调用进程就可以通过向文件写内容而新启动的进程从标准输入读取。事实上这就是进程间的管道通信。popen返回一个文件指针,返回空指针也就是0即出错咯。下面的while循环,就是把返回的文件的内容读取到传入的sck文件描述符所指向的文件中,fileno是把文件指针转换为文件描述符pclose函数就是关闭这个管道,它的返回值是新启动的这个程序的退出码,一般来说程序都返回0代表正确嘛,非零当然就表示程序可能有问题,如果是pclose函数错误会返回-1

linux进程间通讯的几种方式

  一。管道(pipe)  管道是Linux支持的最初IPC方式,管道可分为无名管道,有名管道等。  (一)无名管道,它具有几个特点:  1) 管道是半双工的,只能支持数据的单向流动;两进程间需要通信时需要建立起两个管道;  2) 无名管道使用pipe()函数创建,只能用于父子进程或者兄弟进程之间;  3) 管道对于通信的两端进程而言,实质上是一种独立的文件,只存在于内存中;  4) 数据的读写操作:一个进程向管道中写数据,所写的数据添加在管道缓冲区的尾部;另一个进程在管道中缓冲区的头部读数据。  (二)有名管道  有名管道也是半双工的,不过它允许没有亲缘关系的进程间进行通信。具体点说就是,有名管道提供了一个路径名与之进行关联,以FIFO(先进先出)的形式存在于文件系统中。这样即使是不相干的进程也可以通过FIFO相互通信,只要他们能访问已经提供的路径。  值得注意的是,只有在管道有读端时,往管道中写数据才有意义。否则,向管道写数据的进程会接收到内核发出来的SIGPIPE信号;应用程序可以自定义该信号处理函数,或者直接忽略该信号。  二。信号量(semophore)  信号量是一种计数器,可以控制进程间多个线程或者多个进程对资源的同步访问,它常实现为一种锁机制。实质上,信号量是一个被保护的变量,并且只能通过初始化和两个标准的原子操作(P/V)来访问。(P,V操作也常称为wait(s),signal(s))  三。信号(Signal)  信号是Unix系统中使用的最古老的进程间通信的方法之一。操作系统通过信号来通知某一进程发生了某一种预定好的事件;接收到信号的进程可以选择不同的方式处理该信号,一是可以采用默认处理机制—进程中断或退出,一是忽略该信号,还有就是自定义该信号的处理函数,执行相应的动作。  内核为进程生产信号,来响应不同的事件,这些事件就是信号源。信号源可以是:异常,其他进程,终端的中断(Ctrl-C,Ctrl+\等),作业的控制(前台,后台进程的管理等),分配额问题(cpu超时或文件过大等),内核通知(例如I/O就绪等),报警(计时器)。  四。消息队列(Message Queue)  消息队列就是消息的一个链表,它允许一个或者多个进程向它写消息,一个或多个进程向它读消息。Linux维护了一个消息队列向量表:msgque,来表示系统中所有的消息队列。  消息队列克服了信号传递信息少,管道只能支持无格式字节流和缓冲区受限的缺点。  五。共享内存(shared memory)  共享内存映射为一段可以被其他进程访问的内存。该共享内存由一个进程所创建,然后其他进程可以挂载到该共享内存中。共享内存是最快的IPC机制,但由于linux本身不能实现对其同步控制,需要用户程序进行并发访问控制,因此它一般结合了其他通信机制实现了进程间的通信,例如信号量。  socket也是一种进程间的通信机制,不过它与其他通信方式主要的区别是:它可以实现不同主机间的进程通信。

linux下调用popen执行命令,然后调用fgets读取命令输出,大部分命令可以执行,执行某条命令时fgets挂住

起码你的代码有一个漏洞:第一次进入while时,!feof(pipe)是在判断谁?说明你对feof()这个函数并没有掌握,它必须在逻辑上“紧跟”在读文件动作之后才能正确生效,这第一次是“紧跟”在哪个读动作之后?到了文件结尾处就更可笑了:经while(!feof(pipe))判断文件还没有结束,比如说文件中还剩一个最后的’\n’,可是体中的if(fread(&c,1,1,pipe)==1)中的fread函数还能读到什么?细节我就不说了,太长。建议把while(!feof(pipe)){ if(fread(&c,1,1,pipe)==1){ result=c; if(c==0) break; }}这一段改成while(fread(&c,1,1,pipe),!feof(pipe)){ result=c; //if(c==0)//这两句考虑一下吧,文件中有0吗?不可能有0,所以逻辑就有问题,建议删除 //break;}一试。

linux下popen(linux popen system 超时问题)

本文编辑:admin

更多文章:


弹琵琶的手法动作?关于弹琵琶时的演奏姿势

弹琵琶的手法动作?关于弹琵琶时的演奏姿势

本文目录弹琵琶的手法动作关于弹琵琶时的演奏姿势琵琶的演奏方法国内著名琵琶演凑家都有谁琵琶怎么弹从古至今,弹奏琵琶究竟有哪些姿势是该横着抱还是竖着抱怎么弹琵琶_如何弹好琵琶琵琶的演奏方式有什么特点琵琶弹奏技巧弹琵琶的手法动作弹琵琶的手法动作之

2024年7月21日 02:04

韩剧method方法派在线观看(韩国method 电影)

韩剧method方法派在线观看(韩国method 电影)

各位老铁们好,相信很多人对韩剧method方法派在线观看都不是特别的了解,因此呢,今天就来为大家分享下关于韩剧method方法派在线观看以及韩国method 电影的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录韩

2024年8月12日 22:26

users是什么文件夹可以删除吗?users账户有什么权限

users是什么文件夹可以删除吗?users账户有什么权限

本文目录users是什么文件夹可以删除吗users账户有什么权限w10如何进入userswin7里c盘里有个users文件好大,里面是什么users是什么意思users是什么文件夹users是什么什么文件users 中的文件不能删除user

2024年7月24日 11:03

radon变换车牌矫正原理(车牌矫正的目的是什么)

radon变换车牌矫正原理(车牌矫正的目的是什么)

本文目录车牌矫正的目的是什么radon变换 是什么意思啊!求车牌识别中的倾斜矫正程序 MATLAB急求matlab处理模糊车牌具体步骤车牌矫正的目的是什么车牌矫正是为了更好地进行车牌识别。如果车牌被折弯了,不严重的情况下,自己可以用手扳回来

2024年6月23日 06:05

设备管理器怎么打开(设备管理器快捷键)

设备管理器怎么打开(设备管理器快捷键)

本文目录设备管理器快捷键电脑怎么启动设备管理器电脑设备管理器怎么打开win7打开设备管理器快捷键电脑如何找到设备管理器设备管理器在哪 怎么打开设备管理器设备管理器怎么打开设备管理器快捷键设备管理器的快捷键是“win”+“x”,具体的使用方法

2024年5月5日 20:46

timeout系统什么意思啊(timeout制度包括哪些)

timeout系统什么意思啊(timeout制度包括哪些)

大家好,今天小编来为大家解答以下的问题,关于timeout系统什么意思啊,timeout制度包括哪些这个很多人还不知道,现在让我们一起来看看吧!本文目录timeout制度包括哪些timeout什么意思软件显示timeout怎么回事电脑开机显

2024年7月25日 14:50

系统设计的主要任务有(某企业的信息中心要自行开发一套信息管理系统,在系统设计阶段需要完成的主要任务有(  ))

系统设计的主要任务有(某企业的信息中心要自行开发一套信息管理系统,在系统设计阶段需要完成的主要任务有(  ))

本文目录某企业的信息中心要自行开发一套信息管理系统,在系统设计阶段需要完成的主要任务有(  )总体设计的根本任务是什么计算机控制系统在设计过程中,硬件设计的主要任务有哪些简述系统设计阶段的主要任务及主要内容总体设计写什么在企业实施电子商务的

2024年7月20日 09:11

正态分布图怎么画(如何在word中画正态分布图)

正态分布图怎么画(如何在word中画正态分布图)

本文目录如何在word中画正态分布图jmp正态分布图如何做Excel里面如何做正态分布图一般没有参数正态分布图怎么画excel一列数据如何画正态分布图如何用excel画正态分布图怎么用excel画正态分布图在excel里怎么做正态分布如何在

2023年6月27日 08:00

ascii函数(VB中Asc函数)

ascii函数(VB中Asc函数)

大家好,关于ascii函数很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于VB中Asc函数的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录VB中Asc函

2024年7月26日 22:15

hungry的反义词(hungry的反义词是什么)

hungry的反义词(hungry的反义词是什么)

本文目录hungry的反义词是什么hungry的反义词是什么(英文)hungry的反义词(英文)hungry的反义词“hungry“英文的反义词是什么hungry的反义词是什么hungry的反义词是full。full 英 [fʊl] 美

2024年7月23日 04:24

递归函数的作用(如何理解python中的递归函数)

递归函数的作用(如何理解python中的递归函数)

本文目录如何理解python中的递归函数C++中什么是递归函数,一般用在什么地方C语言,递归函数问题C语言中的递归函数有什么用途什么意义递归函数是什么意思如何理解python中的递归函数递归式方法可以被用于解决很多的计算机科学问题,因此它是

2024年7月5日 16:48

hidden什么意思(请问HTML里面的hidden是什么意思有什么用)

hidden什么意思(请问HTML里面的hidden是什么意思有什么用)

本文目录请问HTML里面的hidden是什么意思有什么用hide-hid-hidden是什么意思【英语】【翻译】1.这里的at one stage是什么意思 2.这里的hidden是什么词性请问HTML里面的hidden是什么意思有什么用H

2024年6月30日 01:34

纪姿含为什么不拍戏了(6岁被成龙抱上舞台,出演《花千骨》却被骂哭,纪姿含如今咋样了)

纪姿含为什么不拍戏了(6岁被成龙抱上舞台,出演《花千骨》却被骂哭,纪姿含如今咋样了)

本文目录6岁被成龙抱上舞台,出演《花千骨》却被骂哭,纪姿含如今咋样了纪姿含怎么成为童星的纪姿含家有钱吗 家庭条件还是相当不错的我是一个14岁的女孩我闺蜜纪姿含要领我去酒吧玩喝酒我不想去我该怎么办6岁被成龙抱上舞台,出演《花千骨》却被骂哭,纪

2024年7月19日 02:12

是什么符号意思(符号(_)代表什么意思)

是什么符号意思(符号(_)代表什么意思)

本文目录符号(_)代表什么意思 这个符号是什么意思这个符号是表示什么意思符号是什么意思∽是什么符号代表什么意思这个符号【】是代表什么意思符号(_)代表什么意思符号(_)被用作增强注意。下划线大家经常接触到的一般用在名字的输入中,(只可以输入

2024年6月10日 10:40

delete from sc(DELETE FROM SC WHERE ’CS’= (SELETE Sdept FROM Student WHERE Student.Sno=SC.Sno))

delete from sc(DELETE FROM SC WHERE ’CS’= (SELETE Sdept FROM Student WHERE Student.Sno=SC.Sno))

本篇文章给大家谈谈delete from sc,以及DELETE FROM SC WHERE ’CS’= (SELETE Sdept FROM Student WHERE Student.Sno=SC.Sno)对应的知识点,文章可能有点长,

2024年7月13日 14:21

对数函数的导数(对数的导数怎么求)

对数函数的导数(对数的导数怎么求)

本文目录对数的导数怎么求对数函数的导数对数的导数怎么求1、导数的定义设函数y=f(x)在点x=x0及其附近有定义,当自变量x在x0处有改变量△x(△x可正可负),则函数y相应地有改变量△y=f(x0+△x)-f(x0),这两个改变量的比叫做

2024年5月10日 22:15

个人主页封面图片(QQ个人主页怎么设置自定义封面 想第二张图那样)

个人主页封面图片(QQ个人主页怎么设置自定义封面 想第二张图那样)

本文目录QQ个人主页怎么设置自定义封面 想第二张图那样qq主页背景图片怎么设置求教!微信如何更换封面求一张图新浪微博 个人页封面图 绮丽街景QQ个人主页怎么设置自定义封面 想第二张图那样打开QQ,点击资料,然后点击封面,点击自定义,然后在你

2024年7月24日 04:28

css美化表单代码(如何让CSS表单居中 谢谢回答~)

css美化表单代码(如何让CSS表单居中 谢谢回答~)

本文目录如何让CSS表单居中 谢谢回答~css是什么~如何让CSS表单居中 谢谢回答~1、首先,打开html器,新建html文件,例如:index.html。2、其次,在index.html中的《style》标签中,输入css代码:body

2024年5月18日 06:26

网页招聘模板(保险招聘启事模板)

网页招聘模板(保险招聘启事模板)

本文目录保险招聘启事模板招聘模板范本房地产招聘信息模板公司招聘启事格式十篇_怎么写招工启事求各种招聘广告模板招聘启事范文格式模版招聘启事格式招聘怎么写模板保险招聘启事模板   随着自主择业就业制度改革的深入,许多企事业单位根据“平等竞

2024年7月18日 03:02

05网英语课课练答案(六年级英语课课练答案第90页和第91页的下册答案零五网)

05网英语课课练答案(六年级英语课课练答案第90页和第91页的下册答案零五网)

本文目录六年级英语课课练答案第90页和第91页的下册答案零五网零五网泽林版英语课课练五年级下册答案八年级英语课课练强化拓展答案零五网零五网八年级下册英语课课练答案译林版unit3答案和unit4答案零五网六年级上册英语课课练69业到70页答

2024年5月1日 04:19

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1155
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索