windows下管理java进程

今天要说的是,当一台windows服务器上单独运行了多个java程序的话,如何进行更好的管理。

 

首先,是在windows下运行java程序的启动脚本:

 

Cmd代码   收藏代码
  1. java -classpath 需要加入classpath的内容列表,以分号分割 需要执行的程序.jar  

 如:

 

Cmd代码   收藏代码
  1. java -classpath hello.properties hello.jar  

 将其保存为startup.bat。

启动后,发现黑色的cmd框框一直讨厌的呆在那里,并且在进程管理器中查看该进程为java.exe。如果一台服务器上跑了很多个这样的进程后你就会发现,不小心关闭这些cmd框框带来的后果是致命的,轻则服务中断,重则工资被扣。怎么去掉那个讨厌的cmd框框呢?也许用javaw可以解决问题。

 

Cmd代码   收藏代码
  1. javaw -classpath hello.properties hello.jar  

 框框还在那里,但是关闭一下试试,嘿嘿,javaw.exe这个进程还在,看来是比刚才进步了哦。

那么如何自动关闭这个cmd框框呢?

 

Cmd代码   收藏代码
  1. start javaw -classpath hello.properties hello.jar  

 在运行一次试试,HOHO,我们的目的打到了,启动后,cmd框框自动关闭了。

 

这个貌似是没有问题的,但是当你需要运行几个甚至十几个jar程序后,你会在进程管理器中发现长长的一排javaw.exe,根本无法监测某个进程消耗的资源,怎么来区别每一个javaw到底运行的是什么程序呢?

由于这些javaw都指向了%JAVA_HOME%\bin\javaw.exe,我们可以在javaw.exe上面动动脑筋。我们复制几个javaw.exe文件在bin目录,将其中的一些改名为hello.exe,world.exe等等你需要显示在进程管理器中的名字,然后将启动脚本修改为这样:

 

Cmd代码   收藏代码
  1. start C:\Progra~1\Java\jdk1.x.x_xx\bin\hello -classpath hello.properties hello.jar  

 注意,Progra~1是替代Program Files的有效写法,表示Progra开头的第一个文件夹。如果你的JDK路径没有空格,也可以使用全路径代替。

这样改过之后,在进程管理器中会发现每个不同的java进程变成了hello.exe,world.exe了,这样可以方便的查看每个进程的资源占用情况,甚至是强行关闭这个进程了。

 

在Linux下,这个过程及其简单:

 

Cmd代码   收藏代码
  1. ps -fe|grep hello  

 就看到了hello.jar这个进程了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值