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
2 番目の列は 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
「kill」する必要があるPIDは14620
(Javaプロセス)です
警告: 正確な設定によっては、他のスクリプトがその PID の周囲にループする可能性があります。
したがって、通常のシャットダウン/起動スクリプトを使用して Tomcat を停止しようとしましたか?
tomcatbin/
フォルダにfeshutdown.shやstartup.shがあるかもしれません
これはディストリビューション、Tomcatのバージョン、Tomcatのインストール方法によって異なります。