[发明专利]基于Eclipse的其他软件调用方法、系统及存储介质在审

专利信息
申请号: 201710866556.2 申请日: 2017-09-22
公开(公告)号: CN107643947A 公开(公告)日: 2018-01-30
发明(设计)人: 吴翔虎;曲明成;陶永超;刘全胜 申请(专利权)人: 深圳航天科技创新研究院
主分类号: G06F9/48 分类号: G06F9/48
代理公司: 深圳市科吉华烽知识产权事务所(普通合伙)44248 代理人: 孙伟
地址: 518000 广东省*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 eclipse 其他 软件 调用 方法 系统 存储 介质
【说明书】:

技术领域

发明涉及嵌入式集成开发技术领域,尤其涉及一种基于Eclipse的其他软件调用方法、系统及存储介质。

背景技术

随着嵌入式硬件和软件日益复杂,传统基于命令行的开发调试操作已经无法满足日常需求,基于图形化的调试工具成为最流行的选择。Eclipse作为一款良好的开源软件,提供了大量的扩展节点,可供开发自己的功能。现如今,许多嵌入式集成开发环境都是基于Eclipse来实现的。在Eclipse的基础上做嵌入式集成开发环境的开发,其核心是调用其他相关软件以及对产生的相关进程进行管理。

在Eclipse中调用其他软件,主要是通过java的Process类实现的,Process类执行时,会有两个结果输出流。一个是标准输出流,输出的是正确的执行结果。一个是错误输出流,输出的是错误的执行结果。如果不对这两个输出流进行处理,只处理标准输出流的话,假如执行过程中出现了错误或者异常,容易造成输出流的阻塞,同时程序也不会继续进行,出现卡死状态。而如果将两个输出流合并成一个输出流的话,虽然可以解决输出流的阻塞问题,但这样错误输出和正确输出合并在了一起,无法明显的区分错误输出和正确输出。

此外,由于集成开发环境需要经常调用其他可执行程序,从windows操作系统的角度来看,这些被调用的其他可执行程序和Eclipse.exe属于不同的进程,在后台以非图形化的方式运行着。如果不对这些进程提供统一的终止管理,则可能会出现问题,比如Eclipse关闭或者异常终止,而其他被调用的可执行程序仍会在后台运行。又比如在调用Vavido软件的时候,如果不对之前的进程进行杀死处理,可能会出现重复建立进程的情况,占用大量的cpu资源。

综上,研究基于Eclipse的其他软件调用模式的优化势在必行,此外,还需为集成开发环境提供统一的进程管理机制,这里管理主要是指终止无效的进程。

发明内容

本发明的主要目的在于提供一种基于Eclipse的其他软件调用方法、系统及存储介质,通过方案优化,减少程序执行过程中出现的错误和异常,降低造成输出流阻塞、程序异常终止等风险,并节省占用的cpu资源。

为实现上述目的,本发明提供的一种基于Eclipse的其他软件调用方法,包括以下步骤:

S1:通过ProcessBuilder()函数新建一个builder对象,参数为要执行的其他可执行程序的绝对路径;

S2:通过builder.start()执行该其他程序,获得一个Process进程对象process,process即为打开该其他程序后的进程;

S3:通过process.getOutputStream()获得该进程的输入流,通过该输入流执行相应的指令;

S4:使用WorkspaceJob创建一个新的线程,用来监听process进程的输出流,通过belongsTo()将该Job归属到一个集合中,之后通过schedule()将该线程添加到等候线程中,等待操作系统执行该Job;

S5:当监听线程开始执行之后,监听其他可执行程序的输出流,如果输出流不为空则输出到自定义的console中;如果输出流为空,则关闭输出流,同时刷新工程所在的工作区间。

其中,在步骤S4中,所述多线程选择的是Eclipse本身的Job机制,使用的是Job机制的扩展WorkspaceJob。

其中,在步骤S5中,所述其他可执行程序的输出流有两个结果输出流,一个是标准输出流,输出的是正确的执行结果;一个是错误输出流,输出的是错误的执行结果。

其中,在步骤S5中,使用一个while循环实现对其他可执行程序的输出流监听,循环的终止条件是标准输出流和错误输出流均为空。

其中,所述对其他可执行程序的输出流监听的判断准则具体包括:

(1)当标准输出流有结果时,以白色颜色输出到自定义的console中;

(2)当错误输出流有结果时,以红色颜色输出到自定义的console中;

(3)若果标准输出流和错误输出流都为空,则关闭两个输出流,同时刷新工程所在的工作区间

其中,所述方法还包括:

设计基于Eclipse终止无效进程的函数对后台进程进行统一的终止管理。

其中,基于Eclipse终止无效进程的函数实现包括以下步骤:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳航天科技创新研究院,未经深圳航天科技创新研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710866556.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top