Я запускаю процесс 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.