perl中,执行外部程序需要输入时,如何通过perl给外部程序输入?
如在perl中执行:system(vcs),执行vcs程序,vcs运行到某一时刻,要求输入‘quit’才能推出vcs,运行之后的perl语句,如果直接在perl中给这个输...
如在perl中执行:system(vcs),执行vcs程序,vcs运行到某一时刻,要求输入‘quit’才能推出vcs,运行之后的perl语句,如果直接在perl中给这个输入,而不用手动输入‘quit’? 是不是需要通过STDIN重定向?
也就是启动了新的进程,如何直接在perl中控制新进程的输入? 展开
也就是启动了新的进程,如何直接在perl中控制新进程的输入? 展开
3个回答
2011-03-01
展开全部
echo "quit" | vcs
通过管道将 quit 发送给vcs
如果这样不行的话,就考虑用expect脚本语言来代替了。。
通过管道将 quit 发送给vcs
如果这样不行的话,就考虑用expect脚本语言来代替了。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你可以控制新进程vcs的行为,那么有很多种进程间通信的方式可以使用,例如,管道,信号,socket等。
如果你不能控制新进程的行为,但是知道新进程会给出什么样的提示,以及知道应该给予什么样的输入,则可以使用expect库.
如果你不能控制新进程的行为,但是知道新进程会给出什么样的提示,以及知道应该给予什么样的输入,则可以使用expect库.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接在vcs里面添加quit对应的code不就行了吗?为什么一定要在perl主程序里输入quit
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询