强杀进程的方式有很多。如果应用程序需要在多个平台下运行,我们可以为不同的平台编写不同的脚本,然后在整体构建/运行的脚本里去分别调用,但这并不太利于维护。我们可以借助Ant、采用统一的方式去完成这件事情。
以强杀Java进程为例,主要思路:
- 使用Java自带的jps命令得到所有Java进程的信息
- 获得符合要求的Java进程的PID
- 调用强杀进程的命令杀死进程
Ant脚本片段:
<property environment="env"/>
<target name="kill-process">
<!-- 执行Java自带的jps命令,将所有Java进程的信息(包括PID)写入pid.out文件 -->
<exec executable="${env.JAVA_HOME}/bin/jps" output="pid.out">
<!-- 用jps命令的参数v,可以获取Java进程的变量信息。
如果多个Java进程需要通过变量信息区分,这个参数很有用-->
<arg value="-v"/>
</exec>
<!-- 加载pid.out文件,用filterchain定义条件、得到符合条件的PID -->
<loadfile srcfile="pid.out" property="pid">
<filterchain>
<linecontains>
<contains value="Bootstrap"/>
</linecontains>
<tokenfilter>
<replaceregex pattern="^(\d+) Bootstrap (.*)" replace="\1"/>
<trim/>
<ignoreblank/>
</tokenfilter>
<striplinebreaks/>
</filterchain>
</loadfile>
<condition property="haveValue">
<isset property="pid"/>
</condition>
<antcall target="pidFound"/>
<antcall target="pidNotFound"/>
<delete file="pid.out"/>
</target>
<target name="pidFound" if="haveValue">
<echo>Killing process with PID: ${pid}</echo>
<!-- 执行强杀进程的命令,这里以Windows自带的tskill为例 -->
<exec executable="tskill">
<arg value="${pid}"/>
</exec>
</target>
<target name="pidNotFound" unless="haveValue">
<echo>There is no matched process.</echo>
</target>
分享到:
相关推荐
本文将详细解释如何使用 Ant 脚本来调用 Java 类,并结合提供的文件内容进行解析。 首先,我们需要了解 Ant 的 `<java>` 标签,这是 Ant 调用 Java 类的主要方式。在提供的 `testset_build.xml` 文件中,`<java>` ...
【描述】"JAVA版的蚂蚁算法(Ant Colony Optimization Algorithms)" 指出这个资源是用Java编程语言实现的蚂蚁算法。在计算机科学中,Java是一种广泛使用的面向对象的编程语言,具有跨平台的特性,因此这个实现可以在...
在IT行业中,Ant是一个至关重要的自动化构建工具,尤其在Java开发领域中被广泛使用。Ant以其XML为基础的构建文件(通常命名为build.xml)为特点,允许开发者定义和执行项目的构建任务。现在,让我们深入探讨一下标题...
ANT是一个广泛使用的开源构建工具,它由Apache基金会开发,主要用于自动化Java应用程序(以及其它语言)的构建过程。ANT的核心理念是通过XML描述构建过程,使得构建脚本具有可读性强、可配置性高的特点。ANT可以执行...
在使用Ant时,我们通常通过Java虚拟机(JVM)执行这个启动器,传递必要的参数,如构建文件路径和目标。例如,我们可以通过以下命令行启动Ant: ``` java -jar ant-launcher-1.7.0.jar -f build.xml ``` 这里,`-f`...
在本文中,我们将深入探讨如何使用Ant通过XML配置来启动和关闭Tomcat服务器,这一技能对于任何从事Java Web开发的人员来说都是至关重要的。 ### 一、Ant与Tomcat简介 #### Ant Ant(Another Neat Tool)是一种...
例如,使用Ant定义一个构建脚本,它首先调用`java-unrar-0.5.jar`来解压RAR文件,然后利用`commons-logging-1.2.jar`记录解压过程中的日志信息。这种组合方式既实现了RAR文件的解压,又保证了日志记录的便利性,同时...
在使用Apache Ant构建Java项目时,可能会遇到一个常见的问题,即`OutOfMemoryError`。这个错误通常发生在编译大量Java源文件时,由于资源耗尽,JVM无法分配足够的内存来执行任务。`OutOfMemoryError`是Java运行时...
在IT行业中,构建自动化是提高效率的关键步骤,而Apache Ant是一个广泛应用的Java构建工具,它允许开发者通过XML配置文件来定义构建任务。本文将深入探讨如何利用Ant进行SSH(Secure Shell)和SCP(Secure Copy)...
- **Ant简介**:Ant是一个开源的Java构建工具,它能够将软件开发中的各种任务(如编译、测试、部署)自动化,大大简化了开发过程。Ant通过读取XML格式的构建文件(通常是`build.xml`)来执行一系列预定义的任务。 -...
### ant 标签详细解释 #### 一、`<project>` 标签 在 Ant 构建工具中,`<project>` 标签是构建文件的根元素,它定义了一个项目的基本属性,如项目的默认目标、基准目录等。具体而言: - **default**:此属性用于...
而JProfiler的使用通常涉及以下步骤:启动或附加到正在运行的Java进程,选择要分析的CPU或内存视图,然后开始会话以收集数据。在CPU视图中,可以看到方法调用的耗时,而在内存视图中,可以检查对象分配和内存泄漏。...
压缩包中的`shell-run-java-by-ant`可能指的是使用Ant来构建和运行Java项目。Ant是Apache的一个开源项目,它是一个基于XML的构建工具,用于编译、打包、测试Java项目等任务。通过Ant的`<java>`任务,可以在构建脚本...
- `<arg line="stop"/>`:向Java进程传递参数,告诉Tomcat执行停止操作。 3. **tomcat.debug**: - `<target name="tomcat.debug">`:定义了名为“tomcat.debug”的目标。 - `<jvmarg value="-Xdebug"/>`:启用...
1. **使用aapt为项目资源生成R.java文件** - **工具介绍**:aapt(Android Asset Packaging Tool)是Android SDK中用于处理应用程序资源的工具。 - **作用**:通过分析项目中的资源文件(如图片、布局文件等),...
- 为了保证操作的原子性,可以考虑在处理过程中使用文件锁,以防止在压缩过程中文件被其他进程修改。 - 如果ZIP文件非常大,解压和再压缩的过程可能会消耗大量时间和资源,因此在处理大数据量时需要谨慎设计。 6....
它使用双链表来表示进程队列,并使用最适合,最适合和最不适合的算法来管理内存。 可视化文件是通过处理库创建的。 如何构建和运行程序 要从源代码构建,请从项目根目录(此目录)执行ant 。 如果您已收到一个zip...
完成配置后,可以通过执行Wrapper的可执行文件来启动你的Java应用程序,Wrapper会监控Java进程的状态,确保程序的稳定运行,并支持开机自启动。在Windows的任务管理器中,你可以看到`wrapper.exe`和`java.exe`两个...
### ant标签详解 #### 1. `<project>` 标签 `<project>` 标签是构建文件的基础,每一个构建文件...以上标签和数据类型的使用使得 Ant 成为了一种强大的自动化构建工具,能够有效地管理项目的构建流程,提高开发效率。
Apache Ant 是一个强大的构建工具,尤其在Java开发领域中广泛使用。它是一个基于XML的工具,允许开发者通过定义任务(targets)和它们之间的依赖关系来自动化构建过程,如编译、打包、测试等。Ant的核心文件是`build...