Назад | Перейти на главную страницу

почему аргументы CATALINA_OPTS отображаются в процессе Java при запуске tomcat, даже если это переменная среды

Я запускаю процесс tomcat с помощью этой команды в python:

os.execve(cmd, [cmd, "run"], env)

Наборы переменных env CATALINA_OPTS = -server -Xms512m -Xmx512m -Xss512k Теперь, когда я запускаю скрипт, в выводе ps отображается следующий java-процесс:

java -server -Xms512m -Xmx512m -Xss512k org.apache.catalina.startup.Bootstrap start

Мой вопрос: почему CATALINA_OPTS отображается в выводе ps процесса java, хотя CATALINA_OPTS является переменной среды?

я открыл catalina.sh скрипт для чтения кода:

Нашел эту строку:

eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

В catalina.sh скрипт вызывает прохождение процесса Java $CATALINA_OPTS аргументы для java-процесса.

Обычно catalina.sh скрипт вызывается через оболочку как сисвинит сценарий. Он загружает переменную среды и использует ее в качестве аргумента для java-процесса, который в конечном итоге вызывает tomcat.