java jar包部署命令解析

花开有时 / 2023-05-10 / 原文

1、根据端口号杀死进程
示例:以端口号35000为例
思路:利用awk函数找到进程PID,kill -9 PID杀死进程

方式一:netstat
kill -9 $(netstat -anp|grep '35000'|awk '{print $7}'|awk -F '/' '{print $1}')

方式二:lsof
kill -9 $(lsof -i:35000|awk 'NR==2{print $2}')

2、运行jar包并忽略错误输出

nohup java -jar -Xms1000M -Xmx3000M x1-api-2.8.0.jar >/dev/null 2>&1 &
参数解析
nohup:即使退出客户端也不挂起
java -jar XXX.jar:运行jar包
-Xms:设置初始化堆内存大小,max=1024M
-Xmx:设置最大可分配堆内存大小,max=4g
>:输出到哪里
/dev/null:看做黑洞,执行过程不在控制台显示
2>&1:错误输出同标准输出操作
&:后台运行

描述:后台永久运行x1-api-2.8.0.jar包,设置JVM运行参数,将标准输出到黑洞(不输出),错误输出同标准输出操作(也不输出),不查看执行过程
2>&1 数值解析
0-标准输入
1-标准输出
2-错误输出

资料参考

1、linux中一条命令查询当前端口的进程,然后拿到进程pid,作为另一条杀死进程的参数
2、Linux shell 杀死进程命令
3、2>&1到底是什么意思?