在CentOS 6上,Tomcat init.d脚本通过以下行启动tomcat:
$SU - $TOMCAT_USER -c "${TOMCAT_script} start-security"$ SU是/ bin / runuser或/ bin / su,$ TOMCAT_USER通常是“ tomcat”,而$ TOMCAT_script通常是“
/ usr / sbin / tomcat6”。“ su-”或“ runuser-”从指定用户的主目录以指定用户身份运行其命令。因此,此命令将更改为“
tomcat”用户的ID和主目录,然后运行/ usr / sbin / tomcat6。tomcat6脚本最终会自行启动tomcat。
Tomcat用户的主目录应与CATALINA_base相同。简而言之,此处的“ su”或“
runuser”命令将当前工作目录设置为CATALINA_base。
init.d脚本不是tomcat的正式组成部分;它是由软件包维护者提供的,对于一个系统来说,它可能与另一个系统不同。在我的Ubuntu
13系统上,
/etc/init.d/tomcat6包含
cd指向$ CATALINA_base 的命令。
Tomcat自己的启动脚本(bin / startup.sh等)未设置工作目录。当我直接使用自己的启动脚本启动tomcat 6或tomcat
7时,它只是继承了我从中运行它的工作目录。
请记住,在Linux上,您可以通过选中查看任何进程的实际当前目录
/proc/<pid>/cwd。



