今天要说的是,当一台windows服务器上单独运行了多个java程序的话,如何进行更好的管理。
首先,是在windows下运行java程序的启动脚本:
java -classpath 需要加入classpath的内容列表,以分号分割 需要执行的程序.jar
如:
java -classpath hello.properties hello.jar
将其保存为startup.bat。
启动后,发现黑色的cmd框框一直讨厌的呆在那里,并且在进程管理器中查看该进程为java.exe。如果一台服务器上跑了很多个这样的进程后你就会发现,不小心关闭这些cmd框框带来的后果是致命的,轻则服务中断,重则工资被扣。怎么去掉那个讨厌的cmd框框呢?也许用javaw可以解决问题。
javaw -classpath hello.properties hello.jar
框框还在那里,但是关闭一下试试,嘿嘿,javaw.exe这个进程还在,看来是比刚才进步了哦。
那么如何自动关闭这个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等等你需要显示在进程管理器中的名字,然后将启动脚本修改为这样:
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下,这个过程及其简单:
ps -fe|grep hello
就看到了hello.jar这个进程了。
分享到:
相关推荐
在Java编程环境中,管理和控制Windows进程是一项常见的任务,特别是在系统集成、自动化运维或者软件开发中。...在实际使用中,结合源代码分析和调试,我们可以学习到更多关于Java进程管理的技巧和实践。
"java管理windows系统内存_java释放内存缓存_java获得CPU使用率_系统内存_硬盘_进程源代码" 在Windows操作系统中,内存管理是一个非常重要的方面。Windows实现按需调页的虚拟内存机制,使得应用程序可以使用超过...
通过上述步骤,我们可以在Windows系统下轻松地启动和停止Java应用程序,并且还能通过设置进程名称来提高管理效率。这些脚本不仅适用于个人开发环境,也适用于生产环境下的部署和维护。对于更复杂的场景,可能还需要...
- `wmic`:Windows Management Instrumentation Command-line,是一种用于访问和操作Windows管理信息的命令行工具,可以用来启动、停止、暂停、恢复进程等。 3. **Java Runtime Environment (JRE)**: - JRE是...
这个bat脚本资源可以在Windows环境下实现Java程序的守护进程和自动重启。它通过一个循环监控Java程序进程,如果检测到程序异常退出,会自动重启程序。同时具有可配置的重启次数和重启间隔时间。 这个小巧但实用的bat...
这是因为Java的设计理念是跨平台兼容,而不同操作系统对进程管理的接口有所不同。然而,我们可以通过Java的`Runtime.exec()`方法或者`ProcessBuilder`类来执行操作系统特定的命令,然后解析输出结果来获取进程ID。 ...
在开发这个任务管理器时,Java的跨平台性使得程序可以在不同操作系统上运行,只需一个JVM(Java虚拟机)支持。此外,Java提供了丰富的类库和API,使得开发者能够方便地实现进程管理、UI设计等功能。 在实现过程中,...
Java的可移植性使得开发者可以利用相同的代码在不同的操作系统上进行进程监控。在Windows平台上,Java通过Java Native Interface (JNI) 调用本地系统API来获取进程信息。JNI允许Java代码直接调用C/C++编写的动态链接...
Java程序在Windows操作系统上作为服务运行,是一种常见的部署方式,特别是在需要后台持续运行且与系统启动同步的应用场景中...合理配置XML文件和管理服务生命周期,可以确保Java程序在Windows环境下高效、安全地运行。
如果你需要在Java程序中实时监控Word进程,可以定期执行上述命令,或者利用`jps`(Java进程状态工具)来查找相关的Java进程。 6. **安全注意事项** 使用这些方法时要谨慎,因为它们具有很高的权限。无控制地结束...
在《Java_JNI_获得系统进程信息实例.doc》中,我们探索了一个利用Java Native Interface (JNI)来获取操作系统进程信息的示例项目。该项目由三个主要部分组成:`systemProcess.java`,`dataProcess.java`以及`process...
这些文件的代码分析可以帮助进一步理解Java进程管理的实践应用。 总结来说,Java提供了一套机制来创建和管理进程,但直接根据命令行参数或PID删除进程则需要借助操作系统特定的工具或API。理解和掌握这些概念对于...
在Java开发过程中,有时候我们需要监控系统资源或特定进程的状态,例如CPU使用率、内存占用情况等。这在服务器性能监控、问题排查等方面尤为重要。本文将详细介绍如何使用Sigar库来实现这些功能。 #### Sigar简介 ...
本案例中,用户在Windows环境下安装了多个Tomcat服务,遇到CPU使用率异常升高的情况,但由于多个Java进程同时运行,无法直观地识别出问题所在。为了解决这个问题,我们可以通过为Tomcat进程设置别名来区分各个实例,...
操作系统实验中的进程管理是计算机科学中的关键概念,尤其是在Windows环境下。Windows操作系统通过API函数CreateProcess()来创建新的进程,这是所有进程生命周期的起点。CreateProcess()函数包含了多个参数,用于...
总的来说,Windows下使用Java调用FFmpeg进行视频处理涉及了Java的进程管理和FFmpeg的命令行接口知识。通过合理的编程实践和理解FFmpeg的参数设置,我们可以实现丰富的视频处理功能。记得在实际开发中,要根据项目...
在这个场景下,我们可以利用 Java 编写的程序来调用 PowerShell 命令,实现对 Windows 的各种操作。 首先,让我们详细了解如何通过 Java 调用 PowerShell 脚本: 1. **调用 PowerShell 命令**: 在 Java 中,我们...
在Java编程中,有时我们需要在程序中调用Windows系统的命令行操作,例如执行外部程序、系统命令或者进行文件操作。Java提供了Runtime类和Process类来实现这一功能。以下是如何使用Java调用Windows命令行的详细步骤和...
完成这些步骤后,重启Tomcat服务,在任务管理器中看到的进程名就会从`java.exe`变为`ifms.exe`。 #### 五、增大Tomcat启动内存 1. **增加启动内存**: - 若要增加Tomcat的启动内存,需要编辑`tomcat_home\bin`目录...
通常情况下,启动一个Java进程往往是使用java -jar xxxx.jar命令,其中xxxx.jar是启动的jar文件。如果需要增加VM参数的话就需要在java后面添加相应的VM参数,如果需要传入参数的话,还需要在命令的最后面添加传入的...