Unix/Linux 启动/查询 tomcat 状态
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unix/Linux 启动/查询 tomcat 状态相关的知识,希望对你有一定的参考价值。
本人刚刚接触Unix/Linux 不久,请问一下怎么在 Unix/Linux 中查看tomcat是否启动,除了刷进程外(ps -ef|grep tomcat),还有别的办法吗?
netstat -plantu | grep 8080 | grep -v "grep" or ps -ef |grep tomcat or lsof -n -i:8080,出现8080这条语句表明Tomcat己经启动并处于监听状态。
拓展:
1、Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
2、Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
3、Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。
参考技术A netstat -plantu | grep 8080 | grep -v "grep" or ps -ef |grep tomcat or lsof -n -i:8080 出现:::8080这条语句表明Tomcat己经启动并处于监听状态卢韬旭 参考技术B 查看端口也可以:netstat -na | grep 9080 参考技术C 用浏览器访问一下啊。Linux/Unix 检查 *** 连接是不是激活/启动
【中文标题】Linux/Unix 检查 *** 连接是不是激活/启动【英文标题】:Linux/Unix check if *** connection is Active/UpLinux/Unix 检查 *** 连接是否激活/启动 【发布时间】:2015-07-15 03:17:46 【问题描述】:我有一个代码可以检测 Open*** 连接是打开还是关闭:
if echo 'ifconfig tun0' | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00"
then
echo "*** up"
else
echo "*** down"
fi
exit 0
现在我正在尝试重新编写代码以使用 PPTP 或 IPSEC 连接。我已经尝试过:
if echo 'ifconfig ppp0' | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00"
或与 ipsec 相同但不起作用。有没有其他方法可以检测 PPTP 或 IPSEC 连接?
【问题讨论】:
echo
的用法很奇怪。这些应该是反引号吗?
这里有完整的代码并不奇怪:if echo 'ifconfig tun0' | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" then echo "*** up" else echo 1 > /usr/syno/etc/syno***client/***c_connecting syno***c reconnect --protocol=open*** --name=XXXXXX fi exit 0
所以基本上我需要在 *** 关闭后重新连接...重新连接脚本工作正常,但我正在努力解决“如果”
对于看到这个问题的任何人,if echo 'ifconfig tun0' | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00"
的意思是:检查字符串“ifconfig tun0”是否包含字符串“00-00-00-00-00-00-00- 00-00-00-00-00-00-00-00-00"。一个正确的例子是if ifconfig tun0 | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00"
(没有回显,没有单引号),这意味着:运行ifconfig tun0
,然后从其输出中检查字符串。
【参考方案1】:
echo
声明是错误的。正如@unwind 所说,单引号(')应该是反引号(`)。您当前的代码将文字值 ifconfig ppp0
发送到 grep,这没有任何用处。
但您实际上也不需要反引号。您可以将ifconfig
的输出发送到grep
目录;使用echo
不会给你任何东西:
if ifconfig ppp0 | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00"; then
echo ppp connection is up
fi
【讨论】:
在您的示例中,当没有 *** 且没有 *** 连接时,我得到“ifconfig: ppp0: error fetching interface information: Device not found”。 在我的情况下是 tun0 而不是 ppp0【参考方案2】:以下脚本将:
每 5 分钟运行一次 ISPConnectivity.sh 脚本。这意味着 *** 隧道不会关闭超过 5 分钟。 检查tun接口是否关闭,如果是则启动***脚本。 如果 tun0 接口已启动,请检查连接性。它对 2 个公共 IP 进行 ping 测试(如果我从所测试的 1 个 IP 中得到一个响应,我认为这是成功的),并且所有人都必须无法运行 *** 脚本。我在多台主机上运行了 ping 测试,以防止在 1 个 IP 上 ping 测试失败时启动 *** 脚本。 将所有失败输出发送到我的主目录中的一个文件。我不需要查看是否有任何测试成功。sudo crontab 的内容:
*/5 * * * * /home/userXXX/ISPConnectivity.sh >> /home/userXXX/ISPConnectivity.log 2>&1
ISPConnectivity.sh 脚本的内容:
#!/bin/bash
# add ip / hostname separated by white space
#HOSTS="1.2.3.4"
HOSTS="8.8.8.8 4.2.2.4"
# no ping request
totalcount=0
COUNT=4
DATE=`date +%Y-%m-%d:%H:%M:%S`
if ! /sbin/ifconfig tun0 | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00"
then
echo $DATE tun0 down
sudo /home/userXXX/start***.sh start
else
for myHost in $HOSTS;
do
count=`ping -c $COUNT $myHost | grep 'received' | awk -F',' ' print $2 ' | awk ' print $1 '`
totalcount=$(($totalcount + $count))
done
if [ $totalcount -eq 0 ]
then
echo $DATE $totalcount "fail"
sudo /home/userXXX/start***.sh start
#else
# echo $DATE $totalcount "pass"
fi
fi
【讨论】:
start***.sh 脚本中有什么内容?【参考方案3】:您也可以使用 nmcli 命令检查 *** 是否正在运行。
nmcli c 显示 --active | grep ***
【讨论】:
如果使用nmcli
很好,尽管我必须使用 grep 搜索 tun
(可能是隧道)【参考方案4】:
我实际上正在寻找更灵活的解决方案,例如:
MyIP=$(curl http://api.ipify.org/?format=text)
if [ "$MyIP" != "MYORYGINALIP" ]
then
echo "IPSEC *** is Running - " $MyIP
else
echo "IPSEC *** is Not Running - " $MyIP
fi
exit 0
那怎么办?我可以改进它吗?
【讨论】:
它只有在你有一个静态 IP 地址的情况下才有效,我不会称之为完全灵活的解决方案。【参考方案5】:ip 路由列表 220 如果显示 IP 地址 -> *** 连接建立,无 -> 无 ***
或
如果 [ "0" == ifconfig | grep wlan0 | wc -l
];然后回显“NO wlan0 没有 ***”; else echo "YES wlan0 has ***";菲
【讨论】:
以上是关于Unix/Linux 启动/查询 tomcat 状态的主要内容,如果未能解决你的问题,请参考以下文章
rsync启动不了.运行/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf后,