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

Я выполняю процесс кота этой командой в Python:

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, разоблачаемые в выводе PS Java, обрабатывают даже при том, что CATALINA_OPTS является переменной среды?

1
задан 29 June 2015 в 09:31
2 ответа

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

0
ответ дан 4 December 2019 в 07:28

Я открыл скрипт catalina.sh , чтобы прочитать код:

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

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

Скрипт catalina.sh вызывает java-процесс, передающий $ CATALINA_OPTS аргументы Java-процесса.

0
ответ дан 4 December 2019 в 07:28

Теги

Похожие вопросы