tomcat 服务下 runtime.exec(cmd) 无效的问题

    在的web应用程序中需要使用 runtime 来执行exec 来运行一个流量接收程序,我在window下使用eclipse 集成tomcat调试,没有一点问题,exec能够运行外部的cmd。把程序部署到 linux 的tomcat服务下,exec不能执行cmd,不报错。

     经过上万查资料发现,是用户权限的问题,使用eclipse +tomcat开发,程序是以登录者的权限运行,通常就是admin了。当把tomcat注册成服务,并部署web的时候就会出现问题了。因为tomcat运行时默认使用自己的用户,所以造成了exec程序无法执行的情况,解决的思路就是让tomcat不使用自己的用户运行。

 

      window下怎么修改还没找到!

     linux下修改如下:centos ,tomcat5.

     vim /etc/init.d/tomcat5 

 

     212行 $SU - $TOMCAT_USER -c "$TOMCAT_SCRIPT start" >> $TOMCAT_LOG 2>&1替换成

$SU -  -c "$TOMCAT_SCRIPT start" >> $TOMCAT_LOG 2>&1 就ok了。

 

你可能感兴趣的:(tomcat,exec,runtime权限)