欢迎各位兄弟 发布技术文章
这里的技术是共享的
通过java启动的tomcat进程获取catalina.home目录
1,获取tomcat进程ID
jps | grep Bootstrap
27057 Bootstrap
2,通过进程ID来获取进程信息并过滤出自己想要的信息
ps -ef | grep 27057|grep -v grep | sed -r 's/.*-Dcatalina.home=(\S+)\ .*/\1/'
/usr/local/tomcat
# 为什么要用sed而不是awk呢?
# 因为tomcat进程中的命令段的长度不是固定的.用awk无法确切的获取到
# 假如说某台主机为了调试或是怎样.需要开启JMX的端口,这个时候tomcat进程的命令段就会多出一些信息
# 上面1 、 2中的命令合为1条如下
ps -ef | grep `jps | grep Bootstrap| awk '{print $1}'`|grep -v grep | sed -r 's/.*-Dcatalina.home=(\S+)\ .*/\1/'
内容来自 【马哥社区】 http://club.magedu.com/topic/5cdb7adec0dd0e3ac9fe4f82