bat关闭java_通过bat脚本停止java进程的三个方法

通过bat脚本停止java进程的三个方法

1.拷贝java.exe

启动时复制java.exe程序修改进程映像名,然后通过映像名杀进程。

栗子

过程

操作

拷贝程序

拷贝一份java.exe程序,重名为tstop.exe,放在PATH下。

修改启动脚本

@echo off

title tstop

tstop -jar …/lib/laucher.jar … …/lib/*.jar,…/conf,

执行停止命令

C:\Users\alvin>tasklist | findstr tstop

tstop.exe 8520 Console 1 42,436 K

C:\Users\alvin>taskkill /f /im tstop.exe

成功: 已终止进程 “tstop.exe”,其 PID 为 8520。

优点: 操作简单可靠

缺点: 需要给每个java程序拷贝一份java.exe,映像名不能重复。

2.通过端口杀进程

通过端口找到PID,然后杀掉进程。

栗子

一个完整的脚本:

@echo off

rem 设置监听的端口号

set port=6200

echo port : %port%

for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do (

if [%%d] EQU [LISTENING] (

set pid=%%e

)

)

for /f "usebackq tokens=1-5" %%a in (`tasklist ^| findstr %pid%`) do (

set image_name=%%a

)

echo now will kill process : pid %pid%, image_name %image_name%

pause

rem 根据进程ID,kill进程

taskkill /f /pid %pid%

pause

优点: 相对于第一种方案,不用有额外的操作拷贝java.exe

缺点: 脚本相对复杂(主要是不熟悉batch脚本语法)

问题分析:

启动java程序后,执行命令netstat -ano | findstr port

C:\Users\alvin>netstat -ano | findstr 6200

TCP 0.0.0.0:6200 0.0.0.0:0 LISTENING 10332

TCP [::]:6200 [::]:0 LISTENING 10332

当执行telnet localhost port后,再执行命令netstat -ano | findstr port

C:\Users\alvin>netstat -ano | findstr 6200

TCP 0.0.0.0:6200 0.0.0.0:0 LISTENING 10332

TCP [::]:6200 [::]:0 LISTENING 10332

TCP [::1]:62644 [::1]:6200 TIME_WAIT 0

所以脚本里面需要判断

[%%d] EQU [LISTENING]

这句

3.通过jps命令

jps命令简介

jps的英文名称是JVM Process Status Tool,功能和ps命令类似。可以列出正在运行的虚拟机进程、显示虚拟机执行主类(main()函数所在的类)的名称、这些进程的本地虚拟机的唯一ID(LVMID, Local Virtual Machine Identifier,LVMID和PID是一致的)。

选项

作用

-q

只输出LVMID(PID)

-m

输出虚拟机进程启动时传递给主类main()函数的参数

-l

输出主类的全名,如果进程执行时是Jar包,输出Jar路径

-v

输出虚拟机进程启动时JVM参数

栗子

过程

操作

启动程序

通过启动脚本启动程序

@echo off

title tstop

tstop -jar …/lib/laucher.jar … …/lib/*.jar,…/conf,

找到PID

C:\Users\alvin>jps -l

5084 …/lib/ocean-laucher-1.0.5.6.jar

4696

9864 sun.tools.jps.Jps

参照栗子2遍历jps -l输出,找到PID 5084

通过PID杀掉进程 taskkill /f /pid 5084

优点: jps命令相对比netstat -ano语法清晰

缺点: java程序需要保证Jar包名(…/lib/laucher-1.0.5.6.jar)不同,相对拷贝java.exe要好一些

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

onclick 获取img 里面的id_红魔5S游戏手机如何解锁bl获取第三方面具root权限

自从苹果阵营发布S系列,安卓系列也学习苹果的步伐,开始发布S系列,这不努比亚也发不了今年夏天的游戏手机,红魔5S游戏手机。红魔5S相对于红魔5其实从配置来看,三大件配置变化并不大,主要还是细节上的一些提升…

java 工厂模式的写法_设计模式-工厂模式

一、概述什么是工厂模式?工厂模式(Factory Pattern)是最常见的一种设计模式之一。它主要是提供一种创建对象的最佳方法!为什么要学习工厂模式?与通过new来创建对象不同,使用工厂模式创建对象不会对客户端暴露创建逻辑,…

jackson 序列化_jackson序列化与反序列化的应用实践

作者 | zhouweixin 来源 | urlify.cn/iEbiAz66套java从入门到精通实战课程分享1 相关概念序列化: 把对象转换为字节序列的过程称为对象的序列化反序列化: 把字节序列恢复为对象的过程称为对象的反序列化2 序列化的作用用于把内存中的对象状态保存到一个文件中或者数据库中用于网…

layui中table监听单元格_layui table表格 监听头删除不请求后台

表格jsfunction getTable() {var table layui.table //表格var username$("#username").val();//执行一个 table 实例table.render({elem: #demo,where: {username:username}//传值,method: post//请求方式,height: 420,url: ${path}/sys/admin/getAllUser //数据接…

java mqtt客户端_基于 t-io 实现一个 mqtt5 协议之 mica-mqtt

一、简介 MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是一种基于发布/订阅范式的“轻量级”消息协议,由 IBM 发布。目前使用比较广泛的就是 mqtt 3.1.1(2014年制定),mqtt 5.0&…

python的gui库_tkinter——python的GUI标准库

-- coding:utf-8 --import tkinter as tkwindowtk.Tk()#一个窗口对象window.title("tkinter")#窗口名称window.geometry("200x200")#字符串形式表示长宽 中间是xlatk.Label(window,text"我是鬼畜窗口\nnb",bg"red",font("Ariel&q…

java rc4_nodejs 和 java 进行 rc4 加密得到的结果不一样

同时在对一个buffer<03 01 00 00 02 00 00 00>进行加密。java 和 c 得到的结果是CA 66 C4 5D 90 E7 30 01nodejs 得到的结果是6f 61 f8 95 ab ba aa 90不一样 什么原因导致的呢&#xff1f;import java.nio.ByteBuffer;import javax.crypto.Cipher;import javax.crypto.s…

python3闭包通俗解释_Python|闭包、装饰器,简单的实例,通俗的理解

闭包和装饰器都是属于函数的语法范畴&#xff0c;是在函数定义中以另一个函数做为形参的语法机制。1 闭包(Closurer)闭包是定义内部函数的一种语法规则&#xff0c;要理解闭包&#xff0c;请看下面的实例&#xff1a;def outer(t):....print(t)....def inner(i):........return…

java自我介绍_JAVA面试技巧之自我介绍

【如何进行自我介绍】自我介绍这个问题&#xff0c;不用多说了&#xff0c;面试必定会问&#xff01;如果想要在自我介绍的时候就能够打动面试官&#xff0c;吸引面试官对我们的兴趣&#xff0c;那么像我们这种接受过Java培训的程序员的自我介绍当然不能和应届生或者其他非技术…

java excel 操作 poi_Java使用apache poi进行excel相关操作

一.基本介绍1.1、Apache POI介绍Apache POI是一个可以进行微软的文档进行开源库&#xff0c;可以操作的文档类型包括word、ppt、excel、visio、outlook....本文主要针对Apache POI对excel的操作进行介绍&#xff0c;主要包括如何创建一个excel、录入数据、读取excel数据的方式。…

程序解析excel中的图片_产品日志丨支持导入Excel中的图片amp;批量修改后期实体字段...

本次安捷秀又迎来了一个大版本更新&#xff0c;除了大家呼声很高的「实体模块导入 Excel 」外&#xff0c;还有「批量编辑实体」&#xff0c;「支持右击修改」以及针对海外用户的「全页面支持英文」等功能的新增与优化&#xff0c;一起来看看吧。导入功能优化AGILESHOT&#xf…

java随机星星怎么闪_canvas画随机闪烁的星星

canvas画一颗星星&#xff1a;规则的星星有内切圆和外切圆&#xff0c;每两个点之间的角度是固定的&#xff0c;因此可得到星星的每个点的坐标&#xff0c;画出星星。function drawStars(x,y,radius1,radius2,num,drawType,color){var angle 360/(num*2);var arr [];for(var …

java 四种内存_不可访问内存 Java四种引用包括强引用,软引用,弱引用,虚引用...

小结&#xff1a;1、不可访问内存是指一组没有任何可访问指针指向的由计算机程序进行动态分配的内存块。2、垃圾收集器能决定是否一个对象还是可访问的&#xff1b;任何被确定不可访问的对象将会被释放。https://zh.wikipedia.org/wiki/不可访问内存在计算机科学中&#xff0c;…

python async_python async with和async for的使用

网上async with和async for的中文资料比较少&#xff0c;我把PEP 492中的官方陈述翻译一下。异步上下文管理器”async with”异步上下文管理器指的是在enter和exit方法处能够暂停执行的上下文管理器。为了实现这样的功能&#xff0c;需要加入两个新的方法&#xff1a;__aenter_…

python将dataframe写入csv_Pandas dataframe数据写入文件和数据库

转自&#xff1a;http://www.dcharm.com/?p584Pandas是Python下一个开源数据分析的库&#xff0c;它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐操作,DataFrame是一张多维的表&#xff0c;大家可以把它想象成一张Excel表单或者Sql表。之前这篇文章已经介绍了从…

java字节输入与字符输入_Java中的字节输入出流和字符输入输出流

Java中的字节输入出流和字符输入输出流下面哪个流类属于面向字符的输入流( )A BufferedWriterB FileInputStreamC ObjectInputStreamD InputStreamReader解析&#xff1a;IO流(1)字节输入流基类&#xff1a;InputStreamFileInputStream、ByteArrayInputStream、PipedInputStrea…

java不同垃圾回收器_细述 Java垃圾回收机制→Types of Java Garbage Collectors

本文非原创&#xff0c;翻译自Types of Java Garbage Collectors在Java中为对象分配和释放内存空间都是由垃圾回收线程自动执行完成的。和C语言不一样的是Java程序员不需要手动写垃圾回收相关的代码。这是使得Java如此流行&#xff0c;同时也是Java能帮助程序员写出更好的Java应…

python控制流代码怎么用_Python学习笔记控制流的元素

随笔记录方便自己和同路人查阅。#------------------------------------------------我是可耻的分割线-------------------------------------------控制流语句的开始部分通常是‘’关键字‘、’“条件”&#xff0c;接下来是一个代码块&#xff0c;称为“子句”。在开始学习具…

js修改地址栏url_不同寻常的地址栏过渡

前几天&#xff0c;我在推特上看到这样一张图。原来地址栏还能这么玩&#xff0c;瞬间就觉得自己弱爆了。然后我决定去实现一下这个效果&#xff0c;然后做成一个库。画了一个晚上&#xff0c;终于做好了。这是最后的成果。这个库使用非常的简单。你只需要&#xff0c;yarn add…

linux php和java环境变量配置_Linux下Java环境变量的安装与配置

安装以JDK1.6.0_43为例增加可执行权限 chmod x jdk-6u43-linux-x64.bin&#xff0c;执行 ./jdk-6u43-linux-x64.bin 生成目录jdk1.6.0_43拷贝到/usr/share下&#xff0c;mv jdk1.6.0_43 /usr/share另外&#xff0c;jdk-6u43-linux-x64.bin将所有文件解压缩到当前目录的jdk$veri…