我使用 python 中的这个命令运行 tomcat 进程:
os.execve(cmd, [cmd, "run"], env)
环境变量设置CATALINA_OPTS = -server -Xms512m -Xmx512m -Xss512k
现在,当我运行脚本时,以下 Java 进程显示在 ps 输出中:
java -server -Xms512m -Xmx512m -Xss512k org.apache.catalina.startup.Bootstrap start
我的问题是,尽管 CATALINA_OPTS 是一个环境变量,为什么 CATALINA_OPTS 也会显示在 java 进程的 ps 输出中?
答案1
通常catalina.sh脚本通过包装器作为系统初始化脚本。它加载环境变量并将其用作最终调用 tomcat 的 java 进程的参数。
答案2
我打开catalina.sh
脚本来读取代码:
找到这一行:
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
该catalina.sh
脚本调用一个 Java 进程并将$CATALINA_OPTS
参数传递给该 Java 进程。