因为需求,我把print.jar做成了print.exe,并由这个exe创建了一个服务(PrintService),
以便每次登录系统都能自动运行,同时也方便了用户手动停止或者启动该exe。
这样当PrintService启动后,任务管理器中会同时存在这两个线程:print.exe javaw.exe
现在的问题是,当注销用户(LogOff)后,再登录(LogIn)时,print.exe虽然还留着,但是javaw.exe已经被关闭了,
这样PrintServices就不好用了。查了半天,也不知道如何解决,只好在这里求救了。
在线等。。
以便每次登录系统都能自动运行,同时也方便了用户手动停止或者启动该exe。
这样当PrintService启动后,任务管理器中会同时存在这两个线程:print.exe javaw.exe
现在的问题是,当注销用户(LogOff)后,再登录(LogIn)时,print.exe虽然还留着,但是javaw.exe已经被关闭了,
这样PrintServices就不好用了。查了半天,也不知道如何解决,只好在这里求救了。
在线等。。
解决方案 »
- Write a line separator to an open stream. How and what to use?
- 用new关键字实力化一个对象时 构造方法报错 那这个对象实力化没有??
- tblQuestion.setAutoscrolls(false);这条命令的作用是什么。 tblQuestion是JTable
- 请问JAVA有自带的颜色选取面板吗?
- jvm移植
- 求助!!!
- 分析一下这两句话的对错。
- 大哥、大哥,你好吗?
- 求java通信程序
- 萌新请教一道贪心算法叠箱子的问题
- String.split()的疑惑
- jbuilder 9 用 jacob 操作word ,用什么版本的jacob,为什么编绎总说错啊?
>要不写个监测程序,当javaw.exe被kill的时候, 从新启动一下?
我也这么想过,再做一个Service来监听,一旦javaw全部被kill时再重起一下上面的PrintService.
这是最后的手段,万不得已的时候再这么做吧。刚才看了一下service的type和start等属性的配置,觉得从配置Service的配置上下手不可行。
不知道注销时Window关闭程序有什么样的判断标准,是否可以设置javaw的相关属性来控制?
print.exe加入了对读卡器的监听处理,如果不给它发送"-stop"命令,它是不会执行完的。
另外,tomcat服务运行的时候,javaw.exe并没有被启动。
tomcat用的是jvm,我也在试着把print.exe改成基于jvm的。
这个进程可能是由于你的服务的原因,
比如开着一个applet程序后然后切换到别的用户,这个applet程序肯定不会继续运行了。加班到现在,问题终于解决,松口气了。。先用JNI调用JVM.dll来启动jvm,设置好jvm参数。(设定的参数和配置tomcat5w.exe服务的jab标签一样)
然后查找位于jar中要运行的Class的main函数并调用。另)突然发现,tomcat5w.exe不仅可以自己设置启动停止class,mathod,还有arguments和mode
如果它能够由用户设置服务名称,那将会是一个非常好用的服务添加工具,而我也用不着花了一整天的时间来jni了。
不过刚才看了 不是一个人 的blog: [又一个将tomcat服务做成windows服务的方法]
http://kfan.blog.hexun.com/16485640_d.html
他通过修改bat文件可以自己设置服务名称,也是个好办法(群众的力量是伟大的)
我现在用的Tomcat5.5,没有bat文件,只有一个只能改配置参数不能改服务名的tomcat5w.exe,想要bat文件,得找5.5以前的的版本啦。