查找 运行 tomcat 进程 ID 时出现问题
Problem on looking for running tomcat process id
有时我的 tomcat 服务器会因为一些内存问题而自动关闭,所以我想使用下面的脚本来检查 tomcat 是否是 运行ning:
checkTomcatRunning.sh
TOMCAT_PID=$(ps -ef | awk '/[t]omcat/{print }')
echo TOMCAT PROCESSID $TOMCAT_PID
if [ -z "$TOMCAT_PID" ]
then
echo "TOMCAT NOT RUNNING"
sudo /opt/tomcat/bin/startup.sh
else
echo "TOMCAT RUNNING"
fi
下面是将日志输出到/opt/tomcat/logs/checkTomcatRunning.log
的crontab
crontab -l
*/1 * * * * /opt/tomcat/webapps/checkTomcatRunning.sh >>/opt/tomcat/logs/checkTomcatRunning.log 2>&1
在/opt/tomcat/logs/checkTomcatRunning.log中,我可以看到打印了4个PID
cat /opt/tomcat/logs/checkTomcatRunning.log
TOMCAT PROCESSID 53585 53916 53917 53918
TOMCAT RUNNING
如果运行 ps -ef |来自 linux 命令行的 awk '/[t]omcat/{print $2}',只有 1 个 PID 53585
ps-ef | awk '/[t]omcat/{print $2}'
53585
而且我在运行ning进程中只能找到53585,找不到53916 53917 53918.
ps-p 53585 53916 53917 53918
PID TTY STAT TIME COMMAND
53585 pts/0 Sl 0:50 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pk
任何人都可以帮助告知为什么 checkTomcatRunning.log 中打印了 4 个(但不是 1 个)PID?
已通过更改脚本和日志文件的路径和名称解决,使它们不包含“[t]omcat”关键字。
有时我的 tomcat 服务器会因为一些内存问题而自动关闭,所以我想使用下面的脚本来检查 tomcat 是否是 运行ning:
checkTomcatRunning.sh
TOMCAT_PID=$(ps -ef | awk '/[t]omcat/{print }')
echo TOMCAT PROCESSID $TOMCAT_PID
if [ -z "$TOMCAT_PID" ]
then
echo "TOMCAT NOT RUNNING"
sudo /opt/tomcat/bin/startup.sh
else
echo "TOMCAT RUNNING"
fi
下面是将日志输出到/opt/tomcat/logs/checkTomcatRunning.log
的crontabcrontab -l
*/1 * * * * /opt/tomcat/webapps/checkTomcatRunning.sh >>/opt/tomcat/logs/checkTomcatRunning.log 2>&1
在/opt/tomcat/logs/checkTomcatRunning.log中,我可以看到打印了4个PID
cat /opt/tomcat/logs/checkTomcatRunning.log
TOMCAT PROCESSID 53585 53916 53917 53918
TOMCAT RUNNING
如果运行 ps -ef |来自 linux 命令行的 awk '/[t]omcat/{print $2}',只有 1 个 PID 53585
ps-ef | awk '/[t]omcat/{print $2}'
53585
而且我在运行ning进程中只能找到53585,找不到53916 53917 53918.
ps-p 53585 53916 53917 53918
PID TTY STAT TIME COMMAND
53585 pts/0 Sl 0:50 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pk
任何人都可以帮助告知为什么 checkTomcatRunning.log 中打印了 4 个(但不是 1 个)PID?
已通过更改脚本和日志文件的路径和名称解决,使它们不包含“[t]omcat”关键字。