我一直在尝试创建自己的'守护进程'java线程。
我无法得到我想要的东西,所以我很好奇Tomcat如何保持活力
断开ssh连接后。
所以我决定围绕Tomcat源文件,看看我是否能找到'魔术'。
在startup.sh中,我试图在互联网上找到一些奇怪的东西而没有运气
# resolve links - $0 may be a softlink
PRG="$0"
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
PRGDIR=`dirname "$PRG"`
EXECUTABLE=catalina.sh
# Check that target executable exists
if $os400; then
# -x will Only work on the os400 if the files are:
# 1. owned by the user
# 2. owned by the PRIMARY group of the user
# this will not work if the user belongs in secondary groups
eval
else
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
echo "Cannot find $PRGDIR/$EXECUTABLE"
echo "The file is absent or does not have execute permission"
echo "This file is needed to run this program"
exit 1
fi
fi
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
他们做了什么?
修改
也许这与OQ没什么关系,但我只想分享我发现的东西
在分析了Apache Tomcat的源代码后,我发现了它。我不确定这是不是
Tomcat实际上是如何运行的。
我想要的就像一个守护进程
首先,你需要一个用java编写的启动器。在Launcher中,创建一个进程和exec(“java yourDaemonToBe”);
希望这可以帮助。
答案 0 :(得分:0)
您运行的shell脚本的名称是$0
,在数组$@
中找到了argv,即脚本的命令行参数。