`

windows下java进程的管理技巧(转)

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



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



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



Cmd代码 
java -classpath hello.properties hello.jar 
将其保存为startup.bat。

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



Cmd代码 
javaw -classpath hello.properties hello.jar 
框框还在那里,但是关闭一下试试,嘿嘿,javaw.exe这个进程还在,看来是比刚才进步了哦。

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



Cmd代码 
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代码 
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代码 
ps -fe|grep hello 
就看到了hello.jar这个进程了。



转自:http://ayuayufan.javaeye.com/blog/391154
分享到:
评论

相关推荐

    java管理windows进程

    在Java编程环境中,管理和控制Windows进程是一项常见的任务,特别是在系统集成、自动化运维或者软件开发中。...在实际使用中,结合源代码分析和调试,我们可以学习到更多关于Java进程管理的技巧和实践。

    Java通过进程名称杀进程

    本文将详细介绍如何使用Java代码实现基于进程名称的进程终止功能,特别是针对Windows操作系统下的`java-test.exe`进程。这不仅适用于开发者调试自身程序时的需求,也适用于系统管理员批量管理运行在Windows服务器上...

    java修改tomcat进程名字

    将本文标题“java修改tomcat进程名字”及描述中的核心内容展开,我们可以深入探讨如何在Windows环境下通过修改特定脚本和文件,来实现更改Tomcat进程名称的技术细节。 ### 一、为什么需要修改Tomcat进程名称 在多...

    JAVA进程突然消失问题解决方案

    在Java开发过程中,有时会遇到一个棘手的问题,即Java进程突然消失,这可能是由多种因素...通过深入理解Java进程消失的各种可能性,并掌握相应的排查技巧,开发者可以更有效地诊断和解决这类问题,提高系统的健壮性。

    Java加载dll,导致Java进程内存泄露

    标题 "Java加载dll,导致Java进程内存泄露" 描述了一个在Java编程中常见的问题,即通过Java Native Interface (JNI)加载动态链接库(dll)...了解并遵循这些原则和技巧,可以有效防止和解决Java进程中的内存泄露问题。

    Springboot-服务-Windows 一键启动、停止脚本

    总的来说,Spring Boot在Windows环境下的服务管理可以通过创建批处理脚本来实现一键启动和停止,极大地提高了运维效率。了解和掌握这种技巧,对于任何使用Spring Boot开发后台服务的开发者来说都是必不可少的技能。

    java 使用windows api操作 office等的源码

    Java 使用Windows API操作Office是一种常见的技术实践,尤其是在自动化办公任务、数据处理或集成办公软件功能时。这个源码包“jawin-2.0...通过深入研究这些源代码,可以更好地理解和掌握Java与Windows系统交互的技巧。

    服务级进程守护 C++ 有后台管理,方便控制多进程管理自启动

    在IT领域,尤其是在系统管理和软件开发中,"服务级进程守护"是一个重要的概念,它涉及到对后台运行的进程进行管理和监控,确保它们稳定运行并能在异常情况下自动恢复。本篇文章将详细探讨C++中实现服务级进程守护、...

    Java最全学习资料+面试题+DOS命令+设计模式+Excel技巧+java学习笔记

    3. **DOS命令**:在Windows环境下,DOS命令对于开发者来说是必不可少的工具。掌握诸如`cd`(改变目录)、`dir`(列出目录内容)、`mkdir`(创建目录)、`del`(删除文件)和`copy`(复制文件)等基本命令能提高开发...

    windows kernel

    Windows内核是操作系统的核心部分,负责管理系统的硬件资源、提供基础服务、调度进程以及处理系统安全等关键任务。对于想要深入理解Windows操作系统的人来说,学习Windows内核是非常重要的一步。以下是一些关于...

    windows wrapper

    这些文件是实现服务启动和管理Java进程的核心组件。 4. **示例配置文件**:为了帮助开发者快速入门,可能会提供一些预设的配置文件示例。这些示例通常包含了基本的配置设置,开发者可以根据自己的项目需求进行修改...

    080218-master_Windows编程_

    6. **服务编程**: 创建和管理Windows服务,使得Java程序可以作为后台进程在系统启动时自动运行。 7. **多线程编程**: 在Windows环境中,Java的多线程机制如何与操作系统特性相结合,以实现高效的并发执行。 8. **...

    java实现控制dos清屏cls

    在Java中,我们通常不能直接调用DOS的cls命令,但可以通过一些技巧来实现类似的效果。 标题"java实现控制dos清屏cls"所指的是如何在Java程序中模拟DOS的清屏操作。这里提供了一种解决方案,包括两个关键文件:CLS....

    JAVA上百实例源码以及开源项目源代码

    文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。...

    操作进程,显示与杀死

    在IT领域,管理和控制进程是...总之,理解和掌握进程管理技巧对于任何IT专业人员都至关重要,无论是排查问题还是优化系统性能,都能发挥重要作用。在Java环境下,合理利用系统命令和库函数可以更有效地进行进程控制。

    windows下socket编程上机报告

    在Windows环境下进行Socket编程是网络通信技术中的基础环节,它涉及到操作系统、网络协议以及编程语言等多个方面的知识。本上机报告将重点探讨Windows系统下的Socket编程原理与实践,旨在帮助读者深入理解网络通信的...

    java学习资料04

    7. **性能分析命令**:`jps`显示Java进程,`jstat`用于监视JVM统计信息,`jmap`提供内存映射和堆dump,`jhat`分析heap dump,这些工具帮助开发者优化程序性能。 8. **JVM调优**:Java2语言命令详解可能还会涵盖JVM...

    仿照windows下的CMD.EXE程序

    【标题】:“仿照windows下的CMD.EXE程序” 在Windows操作系统中,CMD.EXE是一个非常重要的命令行界面工具,它提供了用户与操作系统交互的方式,允许执行各种系统命令、管理文件和运行程序。VB(Visual Basic)是...

    Windows API开发详解

    6. **线程和进程管理**:创建和管理线程,控制进程间的通信(IPC),理解同步和互斥的概念。 7. **内存管理**:理解VirtualAlloc、VirtualFree等内存分配和释放函数,以及堆管理的概念。 8. **动态链接库(DLL)**...

Global site tag (gtag.js) - Google Analytics