我試圖重新啟動 tomcat8 但收到以下警告:
SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize
java.net.BindException: Address already in use
我嘗試透過網路上找到的各種方法來識別該進程,包括殺死java和tomcat。每次我殺死該進程時,我再次檢查另一個tomcat進程是否已啟動。我將如何從源頭終止該進程。以下是輸出
ps -ef | grep [t]omcat
我假設第二列是 PID,但考慮到有這麼多,我不想殺死所有東西,因為擔心會讓情況變得更糟。
tomcat 4328 14814 0 09:48 pts/1 00:00:00 ps -ef
tomcat 4329 14814 0 09:48 pts/1 00:00:00 grep --color=auto [t]omcat
root 13659 947 0 Oct01 ? 00:00:00 sshd: tomcat [priv]
tomcat 13707 13659 0 Oct01 ? 00:00:00 sshd: tomcat@pts/1
tomcat 13708 13707 0 Oct01 pts/1 00:00:00 -bash
root 13789 13728 0 Oct01 pts/1 00:00:00 su tomcat
tomcat 13790 13789 0 Oct01 pts/1 00:00:00 bash
root 13854 13803 0 Oct01 pts/1 00:00:00 su tomcat
tomcat 13855 13854 0 Oct01 pts/1 00:00:00 bash
root 13930 13868 0 Oct01 pts/1 00:00:00 su tomcat
tomcat 13931 13930 0 Oct01 pts/1 00:00:00 bash
root 14099 14049 0 Oct01 pts/1 00:00:00 su tomcat
tomcat 14100 14099 0 Oct01 pts/1 00:00:00 bash
root 14213 14151 0 Oct01 pts/1 00:00:00 su tomcat
tomcat 14214 14213 0 Oct01 pts/1 00:00:00 bash
root 14353 14284 0 Oct01 pts/1 00:00:00 su tomcat
tomcat 14354 14353 0 Oct01 pts/1 00:00:00 bash
tomcat 14620 1 1 Oct01 ? 00:11:59 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -Djava.util.logging.config.file=/var/lib/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dfile.encoding=UTF-8 -Xms256m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=512m -Xms512M -Xmx1024M -server -XX:+UseParallelGC -Djava.endorsed.dirs=/var/lib/tomcat8/endorsed -classpath /var/lib/tomcat8/bin/bootstrap.jar:/var/lib/tomcat8/bin/tomcat-juli.jar -Dcatalina.base=/var/lib/tomcat8 -Dcatalina.home=/var/lib/tomcat8 -Djava.io.tmpdir=/var/lib/tomcat8/temp org.apache.catalina.startup.Bootstrap start
root 14721 14709 0 Oct01 pts/1 00:00:00 su tomcat
tomcat 14722 14721 0 Oct01 pts/1 00:00:00 bash
root 14813 14736 0 Oct01 pts/1 00:00:00 su tomcat
tomcat 14814 14813 0 Oct01 pts/1 00:00:00 bash
有什麼建議麼?
答案1
你需要「殺死」的pid是14620
(java進程)
警告:根據您的特定設置,其他腳本可能會在該 pid 周圍有一個循環。
因此,您是否嘗試使用正常的關閉/啟動腳本來停止tomcat?
在 tomcatbin/
資料夾中,您可能有 shutdown.sh 和/或startup.sh
這取決於發行版、tomcat 版本以及您安裝 tomcat 的方式