2014-02-15 50 views
3

我在centos6中工作。我已經安裝了tomcat6。在第一個工作正常。但重啓服務器tomcat6後無法正常工作。PID文件存在,但進程未運行

當我執行此命令行:「服務的tomcat6狀態‘ 我得到: ’PID文件存在,但進程沒有運行[ÉCHOUÉ]」 我檢查日誌文件「catalina.out的「我得到這個錯誤:

墳墓StandardServer.await:創建[8005]:

java.net.BindException: Cannot assign requested address 
     at java.net.PlainSocketImpl.socketBind(Native Method) 
     at java.net.PlainSocketImpl.bind(Unknown Source) 
     at java.net.ServerSocket.bind(Unknown Source) 
     at java.net.ServerSocket.<init>(Unknown Source) 
     at org.apache.catalina.core.StandardServer.await(StandardServer.java:373) 
     at org.apache.catalina.startup.Catalina.await(Catalina.java:657) 
     at org.apache.catalina.startup.Catalina.start(Catalina.java:617) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 

預先感謝您的幫助

回答

2

如果Tomcat的啓動腳本在正確設置了CATALINA_PID環境變量的情況下運行,那麼Tomcat進程的PID將在啓動時記錄到文件中。如果該文件在您嘗試啓動Tomcat時存在,則腳本將拒絕運行,因爲它不想破壞(可能是有效的)PID文件。

如果您確定Tomcat沒有運行,只需刪除該文件(它應該可以通過CATALINA_PID環境變量獲得)並重試。

如果您想要自我重新啓動服務,請考慮查看jsvc,它實際上隨源代碼提供了Tomcat二進制文件。

2

你正在運行tomcat的哪個端口? 端口80或8080? 在同一端口上運行的其他服務?你檢查了嗎? 可以使用它的進程ID

ps -ax | grep tomcat 
kill -9 <PID> 

殺死tomcat的,如果你確信Tomcat是正在運行的唯一的Java應用程序,那麼你可以使用殺它,使用

killall -9 java 

看catelina.out尾巴,當你重新啓動它。

這樣的事情,這取決於你的安裝方法/路徑:

tail -f /usr/share/apache-tomcat-6.0.37/logs/catalina.out 

還要檢查在您初始化,您配置此PID文件腳本或setenv.sh。我從來沒有用過它。

相關問題