linux停止jar包进程
提供两种方式关闭进程:
- 知道端口号;
- 知道jar包名称
1.知道端口号,停止进程
(1)根据端口号获取进程编号PID
netstat -lnp|grep 端口号
比如:
我端口为9201的进程对应的PID为29464
(2)根据PID杀死进程
kill -9 PID
比如:
2.知道jar包名称,停止进程
(1)根据jar包名称获取进程编号PID
ps aux|grep jar包名称
比如
我jar包名称为iiot-modules-system.jar的进程对应的PID为29464
(2)根据PID杀死进程
kill -9 PID
比如:
Windows启动和停止jar包命令
一、windows启动jar包命令
命令放到 bat文件中
1、普通启动
title XXX chcp 65001 java -Dfile.encoding=utf-8 -jar XXX.jar
加上-Dfile.encoding=utf-8后,不乱码
加上chcp 65001后,日志的中文不乱码
注:这种方式启动后,窗口不能关闭,关闭窗口,服务也关闭。
2、后台启动
@echo off start "XXX" javaw -jar -Dfile.encoding=utf-8 XXX.jar exit
注:这种方式启动后,无窗口。
将上面的命令保存成bat文件即可方便启动。
3、其他
日志打印:
java -Dfile.encoding=utf-8 -jar XXX.jar >out.log 2>&1 &
关闭窗口:
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
4、综合起来,最终的命令:
后台启动方式,没有日志:
@echo off chcp 65001 start "XXX" javaw -jar -Dfile.encoding=utf-8 XXX.jar exit
注意:
不需要在后面添加>out.log 2>&1 &,这样的写法,后台启动方式,日志输出不到文件中,会产生文件,但是out.log没有内容。
如果要输出日志到文件中,则用有窗口的启动方式,使用java -Dfile.encoding=utf-8 -jar XXX.jar >out.log 2>&1 & 的命令。如下
有窗口启动方式,有日志:
@echo off chcp 65001 java -Dfile.encoding=utf-8 -jar XXX.jar >out.log 2>&1 & exit
会有一个黑窗口,显示了Active code page: 65001,日志打印到了out.log文件中。
后台启动方式,有日志:
@echo off chcp 65001 %1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit java -Dfile.encoding=utf-8 -jar XXX.jar >log.log 2>&1 & exit
特别说明:
如果服务有自定义日志,那么不需要额外打印到日志文件中,直接使用后台启动方式即可
@echo off start "XXX" javaw -Dfile.encoding=utf-8 -jar xxx.jar exit
指定命名空间:
java -jar -Xms256m -Dspring.cloud.nacos.discovery.namespace=fb4d22ff-0a57-44ff-a89d-c8db364cb79f -Dspring.cloud.nacos.discovery.server-addr=172.16.1.141:8848 -Dspring.cloud.nacos.config.namespace=fb4d22ff-0a57-44ff-a89d-c8db364cb79f -Dspring.cloud.nacos.config.server-addr=172.16.1.141:8848 -Dserver.port=18010 -Xmx512m mall-cloud-system-app.jar
二、windows停止jar命令
查看所有java进程:
tasklist | findstr "java"
查看某端口的java进程:
netstat -ano | findstr 8106
杀死某个pid的java任务:
taskkill /f /pid 4216
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。