在网上看到用tomcat自带的包jsvc可以使tomcat自动启动,
的确是这样,tomcat可以自动启动了,
一般的做法都是在启动的脚本中把启动的用户改成非root的用户(我改成globus了)
但是有个问题就是启动后无法关闭,
如下:
globus@yzlee-laptop:~$ /usr/local/tomcat/apache-tomcat-5.5.27/bin/shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-5.5.27
Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-5.5.27
Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-5.5.27/temp
Using JRE_HOME: /usr/lib/jvm/java-1.5.0-sun/jre
2009-3-7 19:12:44 org.apache.catalina.startup.Catalina stopServer
严重: Catalina.stop:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:520)
at java.net.Socket.connect(Socket.java:470)
at java.net.Socket.<init>(Socket.java:367)
at java.net.Socket.<init>(Socket.java:180)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:395)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:344)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:435)
用ps -aux | grep tomcat 查看有两个进程,一个属于root,另外一个才是globus用户的
这也许就是globus用户关不掉 tomcat的原因吧?
用root用户kill 5523发现可以同时kill掉两个进程,globus只可以kill掉一个5524
至此我就怀疑大家的做法是不是真的可行?是不是这样更改tomcat启动用户的做法真的可行?真有必要这样作么?
希望谁可以解答一些,谢过!
globus@yzlee-laptop:~$ ps aux | grep tomcat
root 5523 0.0 0.0 2056 384 ? Ss 19:09 0:00 jsvc.exec -user globus -home /usr/lib/jvm/java-1.5.0-sun -Dcatalina.home=/usr/local/tomcat/apache-tomcat-5.5.27 -Dcatalina.base=/usr/local/tomcat/apache-tomcat-5.5.27 -Djava.io.tmpdir=/usr/local/tomcat/apache-tomcat-5.5.27/temp -wait 10 -pidfile /usr/local/tomcat/apache-tomcat-5.5.27/logs/jsvc.pid -outfile /usr/local/tomcat/apache-tomcat-5.5.27/logs/catalina.out -errfile &1 -cp /usr/lib/jvm/java-1.5.0-sun/lib/tools.jar:/usr/local/tomcat/apache-tomcat-5.5.27/bin/commons-daemon.jar:/usr/local/tomcat/apache-tomcat-5.5.27/bin/bootstrap.jar org.apache.catalina.startup.Bootstrap
globus 5524 3.1 3.0 312272 62816 ? Sl 19:09 0:06 jsvc.exec -user globus -home /usr/lib/jvm/java-1.5.0-sun -Dcatalina.home=/usr/local/tomcat/apache-tomcat-5.5.27 -Dcatalina.base=/usr/local/tomcat/apache-tomcat-5.5.27 -Djava.io.tmpdir=/usr/local/tomcat/apache-tomcat-5.5.27/temp -wait 10 -pidfile /usr/local/tomcat/apache-tomcat-5.5.27/logs/jsvc.pid -outfile /usr/local/tomcat/apache-tomcat-5.5.27/logs/catalina.out -errfile &1 -cp /usr/lib/jvm/java-1.5.0-sun/lib/tools.jar:/usr/local/tomcat/apache-tomcat-5.5.27/bin/commons-daemon.jar:/usr/local/tomcat/apache-tomcat-5.5.27/bin/bootstrap.jar org.apache.catalina.startup.Bootstrap
globus 6647 0.0 0.0 3224 788 pts/0 R+ 19:13 0:00 grep tomcat