linux判断jar是否启动,java – 检查jar是否从shell运行

我有一个java jar程序,我试图在我的机器启动时运行.理想情况下,shell脚本将每60秒检查一次,以确保jar正在运行.如何检查jar是否在centos上运行,这似乎不起作用?

我当前的.sh文件:

#!/bin/bash

while [ true ]

do

cnt=`ps -eaflc --sort stime | grep /home/Portal.jar |grep -v grep | wc -l`

if(test $cnt -eq 3);

then

echo "Service already running..."

else

echo "Starting Service"

java -jar /home/Portal.jar >> /dev/null &

fi

sleep 1m

done

到目前为止,我使用this作为参考.

解决方法:

根据您的程序的功能,可能会有或多或少的智能方法来检查它.例如,如果您有一些服务器,它将侦听端口.

然后像

netstat -an | fgrep tcp | fgrep LISTEN | fgrep :87654 # or whatever your port is

可以做这个工作.

然后有lsof,它也可以检测侦听端口.

最后,您可以连接并发出伪请求.例如,对于http服务器,您可以使用lynx或curl.对于具有非stamdard协议的服务器,您可以编写一个小型客户端程序,其唯一目的是连接到服务器,以查看它是否存在.

标签:java,shell,sh,executable-jar

来源: https://codeday.me/bug/20190825/1718328.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值