首页

文章

如何在Linux下管理Java进程

发布网友 发布时间:2022-04-19 22:17

我来回答

3个回答

热心网友 时间:2022-05-03 22:01

jps

热心网友 时间:2022-05-03 23:19

启动java后台进程有两种方式: 1. 绝对路径/bin/java() & : 后台运行,你关掉终端会停止运行 2. nohup 绝对路径/bin/java (java程序) : 后台运行,你关掉终端也会继续运行 java相关操作有: 1.查看java进程信息: ps -ef | grep java 2.结束...

热心网友 时间:2022-05-04 00:53

首先,这段shell应该有start和stop的功能。如何stop当前我想停止的进程在Linux下有很多方法,我用的方法是,启动时将进程对应的process id记录到一个文件中,在停止这个进程时,从文件中读取process id进行kill。同时,做一个crontab,不停在系统中查找文件中的process id对应的进程是否存在,如果不存在,重新启动该进程。

启动和停止脚本:ctrl.sh

Shell代码
#!/bin/sh
#
# start/stop the Service

#
# do some init here
#
case "$1" in
'restart')

# first Stopping the Service
PID=`sed -n 1p pidfile` #get pid from file
if [ ! -z "$PID" ] ; then
echo "Stopping the Service, begin killing ${PID}"
kill ${PID} >/dev/null 2>&1
sleep 2
fi
# second Starting the Service
if [ some condition here ]; then
echo "Starting the Service"
java -classpath some_class_path_here -jar helloworld.jar &
echo $! > pidfile #record process id to file
fi
;;
'stop')
# Stopping the Service
PID=`sed -n 1p pidfile` #get pid from pidfile
if [ ! -z "$PID" ] ; then
echo "Stopping the Service, begin killing ${PID}"
kill ${PID} >/dev/null 2>&1
fi
;;
*)
echo "Unmarkable usage: $0 {restart|stop}"
;;
esac
然后再做一个crontab需要执行的脚本:crntb.sh

Shell代码
#!/bin/sh
PID=`sed -n 1p pidfile`
cmd=`ps -e|grep $PID` #get process with the given pid
indx=`expr index "$cmd" "java"` #whether the string 'cmd' contains 'java'

if [ "$indx" = "0" ]; then
/...path of ctrl.sh.../ctrl.sh restart
fi
最后在crontab中每分钟执行上面的crntb.sh

Shell代码
crontab -e

Shell代码
0-59 * * * * * /....path of crntb.sh.../crntb.sh
这样就可以每分钟查看当前pid对应的进程是不是还在,如果不在了,就重新启动。

当然,光用这几小段代码是不足以维护一个完整的商用程序的。但是,做到了这点,最起码万里长征的第一步已经迈出去了。
华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 linux怎么看一java进程占的内存 如何查看java进程及服务? 如何用linux命令查询java进程 vivo无法充电解决方案 vivox7手机原装充电器冲不进去电,怎么回事? vivo手机原装充电器突然充不进电去的,用其他充电... 为什么vivo X7原配的充电器充不进去电? 为什么vivoX7原配的充电器充不进去电 我的vivoiqoo突然不能闪充了,充电器都是原装的 怎... vivo X9原装充电器充不进去电怎么办? vivox7原装充电器充不进去电怎么回事 vivox9原装充电器为什么冲不上电? 手机连上充电器没反应无法充电怎么办? vivo手机原装充电器没问题但是充不进电怎么办? 为什么vivo手机用原装充电器充不进去电但充电器是... 我用的是vivo手机。原装充电器突然充不进电,换了... 为什么vivo原配的充电器给手机充不上电了 vivo手机使用原装充电器 无法充电了? vivo新手机原装充电器充不进去电怎么回事? 豆腐蔬菜丸子怎么做 在linux下什么命令查看运行的Java程序 Linux系统监控命令及如何定位到Java线程 linux环境下 ps命令查看找不到java进程,使用ps-ef... linux环境下ps命令查看找不到java进程是为什么? Linux中怎样用命令启动后台java进程 如何查看java进程大量占用内存 linux系统下用jps命令查看java进程,提示process i... linux执行java程序时线程和进程的问题 如何查看linux上java实例消耗内存 linux下进程如何查看什么时候停止,哪个用户停止的 java 怎么监控linux上线程是否存在 LINUX系统下查看JAVA的哪个线程占用CPU高 智能温度控制器有什么作用? 智能家居控制器的主要功能 区域智能控制器是什么,它的具体功能是什么? 移动管家车载驻车空调手机智能控制器是什么作用? 智能型路灯控制器有啥作用? 智能控制系统功能有哪些? 路灯远程智能控制器都有哪些功能特点? 请介绍“照明智能控制器”的作用?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com