java隐藏输出_隐藏DOS窗口,并转储DOS窗口的输出信息

我们的产品中间件的启动是由批处理文件开始,这就导致,始终有个DOS窗口,来显示服务器的运行情况。可客户不乐意啊:他们就想万一谁不小心把那窗口给关了,损害了数据,那问题可就大了!这个问题确实是挺有价值的。

首先,我们考虑WINDOWS环境吧,我不认为WINDOWS环境下和*NIX环境下的实现有很大差别。想到以前看到的,听到的,再加上自己的经验,大概有这么集中方式:

包装bat文件为exe文件,然后以后台服务的形式注册

利用windows自带的Wscript.Shell

写个Swing界面小程序,利用多线程,启动应用服务,把DOS窗口替换成应用窗口。

但我们需要考虑另外一点:我们的应用在运行的时候,会向dos窗口输出一些出来的一些信息,这些信息在很多情况下都是很有用的。现在如果把DOS窗口隐藏了,那么那些信息我把他们存放到哪儿呢?我想最好还是以文件的形式保存起来,将来如有问题还可以追查!

现在考虑各种实现方式。包装为exe的形式,也只能在windows环境下运行,并且需要额外的工具;Swing界面小程序这个其实是最可行的,但我这个人比较懒,比较讨厌写界面;利用windows自带的Wscript.Shell,自然也只能依赖于windows环境,后来我想了下,其实这个方案可以和swing界面那个方案有不少东西是可以公用的。最后决定,为了简单期间,偶就先用Wscript.Shell,来做测试了。

实际的情况大致是:

应用服务的启动脚本是/startup.bat 实际中我们可以使用vbs脚本:

dim ws

Set ws = CreateObject("Wscript.Shell")

ws.run "cmd /c /startup.bat >> myServer.log" ,vbhide

通过这样简单的设置,我们可以做到隐藏DOS窗口,但是,如果我们的应用一下子运行好几个月,那我们的日志文件myServer.log的日积月累地,就太大了。我们在查找问题的时候,也很不容易!所以我们应该想法子把日志文件myServer.log,按时间或者按大小分开存储。这也是我们应用服务器日志的做法。所以,我们需要再做

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值