Это чтобы помочь любому, кто сталкивается с той же проблемой.Пожалуйста, имейте в виду, что у меня нет объяснения, как работает изменение, но оно решило мою проблему, поэтому я опубликовал его для других.
В /etc/init.d/tomcat6
есть функция parseOption, которая анализирует указанные конфигурации.в конфигурационном файле.Эта функция вызывается в других функциях [stop / start] и отлично работает при разборе конфигов, как показано в выходных данных выше.
Внутри функции останова она изначально вызывается следующим образом:
if [ -f "/var/lock/subsys/${NAME}" ]; then
parseOptions
$SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} stop" >> $TOMCAT_LOG 2>&1
Я изменил вышеупомянутое значение на:
if [ -f "/var/lock/subsys/${NAME}" ]; then
$SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} stop" >> $TOMCAT_LOG 2>&1
parseOptions
, и это сработало.Я был в состоянии остановить кота в середине запуска и иначе.Остальная часть функции stop выполняется также правильно [удаление файла pid, уничтожение процесса ...].Насколько отличается реализация, когда кот находится в режиме запуска или запуска, неясно, так как обычная остановка прекрасно работает без каких-либо изменений в режиме запуска.