今天要说的是,当一台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进程管理的技巧和实践。
本文将详细介绍如何使用Java代码实现基于进程名称的进程终止功能,特别是针对Windows操作系统下的`java-test.exe`进程。这不仅适用于开发者调试自身程序时的需求,也适用于系统管理员批量管理运行在Windows服务器上...
将本文标题“java修改tomcat进程名字”及描述中的核心内容展开,我们可以深入探讨如何在Windows环境下通过修改特定脚本和文件,来实现更改Tomcat进程名称的技术细节。 ### 一、为什么需要修改Tomcat进程名称 在多...
在Java开发过程中,有时会遇到一个棘手的问题,即Java进程突然消失,这可能是由多种因素...通过深入理解Java进程消失的各种可能性,并掌握相应的排查技巧,开发者可以更有效地诊断和解决这类问题,提高系统的健壮性。
标题 "Java加载dll,导致Java进程内存泄露" 描述了一个在Java编程中常见的问题,即通过Java Native Interface (JNI)加载动态链接库(dll)...了解并遵循这些原则和技巧,可以有效防止和解决Java进程中的内存泄露问题。
总的来说,Spring Boot在Windows环境下的服务管理可以通过创建批处理脚本来实现一键启动和停止,极大地提高了运维效率。了解和掌握这种技巧,对于任何使用Spring Boot开发后台服务的开发者来说都是必不可少的技能。
Java 使用Windows API操作Office是一种常见的技术实践,尤其是在自动化办公任务、数据处理或集成办公软件功能时。这个源码包“jawin-2.0...通过深入研究这些源代码,可以更好地理解和掌握Java与Windows系统交互的技巧。
在IT领域,尤其是在系统管理和软件开发中,"服务级进程守护"是一个重要的概念,它涉及到对后台运行的进程进行管理和监控,确保它们稳定运行并能在异常情况下自动恢复。本篇文章将详细探讨C++中实现服务级进程守护、...
3. **DOS命令**:在Windows环境下,DOS命令对于开发者来说是必不可少的工具。掌握诸如`cd`(改变目录)、`dir`(列出目录内容)、`mkdir`(创建目录)、`del`(删除文件)和`copy`(复制文件)等基本命令能提高开发...
Windows内核是操作系统的核心部分,负责管理系统的硬件资源、提供基础服务、调度进程以及处理系统安全等关键任务。对于想要深入理解Windows操作系统的人来说,学习Windows内核是非常重要的一步。以下是一些关于...
这些文件是实现服务启动和管理Java进程的核心组件。 4. **示例配置文件**:为了帮助开发者快速入门,可能会提供一些预设的配置文件示例。这些示例通常包含了基本的配置设置,开发者可以根据自己的项目需求进行修改...
6. **服务编程**: 创建和管理Windows服务,使得Java程序可以作为后台进程在系统启动时自动运行。 7. **多线程编程**: 在Windows环境中,Java的多线程机制如何与操作系统特性相结合,以实现高效的并发执行。 8. **...
在Java中,我们通常不能直接调用DOS的cls命令,但可以通过一些技巧来实现类似的效果。 标题"java实现控制dos清屏cls"所指的是如何在Java程序中模拟DOS的清屏操作。这里提供了一种解决方案,包括两个关键文件:CLS....
文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。...
这些工具可以显示Java进程的CPU使用历史,帮助开发者定位高CPU消耗的代码片段。 **内存监控** 内存管理是Java性能优化的关键,尤其是对于内存泄漏和过度使用的问题。Java使用JVM(Java Virtual Machine)来管理内存...
在IT领域,管理和控制进程是...总之,理解和掌握进程管理技巧对于任何IT专业人员都至关重要,无论是排查问题还是优化系统性能,都能发挥重要作用。在Java环境下,合理利用系统命令和库函数可以更有效地进行进程控制。
在Windows环境下进行Socket编程是网络通信技术中的基础环节,它涉及到操作系统、网络协议以及编程语言等多个方面的知识。本上机报告将重点探讨Windows系统下的Socket编程原理与实践,旨在帮助读者深入理解网络通信的...
7. **性能分析命令**:`jps`显示Java进程,`jstat`用于监视JVM统计信息,`jmap`提供内存映射和堆dump,`jhat`分析heap dump,这些工具帮助开发者优化程序性能。 8. **JVM调优**:Java2语言命令详解可能还会涵盖JVM...
【标题】:“仿照windows下的CMD.EXE程序” 在Windows操作系统中,CMD.EXE是一个非常重要的命令行界面工具,它提供了用户与操作系统交互的方式,允许执行各种系统命令、管理文件和运行程序。VB(Visual Basic)是...
6. **线程和进程管理**:创建和管理线程,控制进程间的通信(IPC),理解同步和互斥的概念。 7. **内存管理**:理解VirtualAlloc、VirtualFree等内存分配和释放函数,以及堆管理的概念。 8. **动态链接库(DLL)**...