LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 623|回复: 3

有没有方法可以向一个fork的进程的标准输入中输入数据,但....

[复制链接]
发表于 2005-1-12 20:09:17 | 显示全部楼层 |阅读模式
我的问题是这样的,想在程序中调用gnuplot来画图,gnuplot打开后是一个shell,可以输入命令,我就想在程序中往gnuplot的shell中写命令.开始是用popen打开一个管道的方式,但这种方法有些问题,用open打开gnuplot可以往里正常的写数据,但是其标准输入完全就不能用了,有时候我还需要用户能输入一些鼠标事件.

所以我想用fork exec的方式做,先写一个命令文件,然后execlp gnuplot时带这个命令文件做为参数,这样倒是可以正常响应鼠标的输入但是却不能灵活得控制gnuplot的运行,我必须一次性把gnuplot命令写在那个临时文件中.而在程序运行的过程中往往我想要输入到gnuplot的命令还需要变化.

也不知我的问题描述清楚没有,我想有没有这样一种方式,fork exec之后再将其标准输入截获然后向里输入数据,输入完数据后还要将其标准输入释放以响应鼠标的事件,我看了一些底层调用pipe的文档,都不能满足我的要求.

请各位大侠帮忙看看,谢谢!
发表于 2005-1-13 10:59:41 | 显示全部楼层
为什么不把用户输入一起截取后,再传递给gnuplot?
发表于 2005-1-14 10:42:40 | 显示全部楼层
鼠标是标准输入么
回复 支持 反对

使用道具 举报

发表于 2005-1-14 12:13:31 | 显示全部楼层
try  this function " select" and related functions. they should satisfy what u need. enjoy!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表