事象
Tomcat9をWindows10にインストールしてみたのですが起動しないという現象が起きました。原因は、Windows10が既に使用しているポート8005をTomcat9で使用しようとしていたためでした。
この記事では、原因の特定方法を順を追ってご紹介します。
Tomcat9がデフォルト設定で起動しない
Tomcat9をインストールし、GUIから起動しようとするも起動状態にならない。デフォルトから設定変更なくインストールしているはずなのですが。。
調査開始
なんでかなとログを確認してみます。ログの場所はデフォルトではC:\Program Files\Apache Software Foundation\Tomcat 9.0\logs\catalina.yyyy-mm-dd.logです。
03-Aug-2018 21:30:24.962 情報 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"] 03-Aug-2018 21:30:24.983 情報 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"] 03-Aug-2018 21:30:24.990 情報 [main] org.apache.catalina.startup.Catalina.start Server startup in 1209 ms 03-Aug-2018 21:30:24.998 重大 [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:8005]: java.net.BindException: Address already in use: NET_Bind at java.base/java.net.DualStackPlainSocketImpl.bind0(Native Method) at java.base/java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106) at java.base/java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:437) at java.base/java.net.PlainSocketImpl.bind(PlainSocketImpl.java:174) at java.base/java.net.ServerSocket.bind(ServerSocket.java:381) at java.base/java.net.ServerSocket.<init>(ServerSocket.java:243) at org.apache.catalina.core.StandardServer.await(StandardServer.java:422) at org.apache.catalina.startup.Catalina.await(Catalina.java:770) at org.apache.catalina.startup.Catalina.start(Catalina.java:716) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493) 03-Aug-2018 21:30:25.000 情報 [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8080"] 03-Aug-2018 21:30:25.116 情報 [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8009"] 03-Aug-2018 21:30:25.382 情報 [main] org.apache.catalina.core.StandardService.stopInternal サービス [Catalina] を停止します
4行目、5行目が怪しいですね。8005ポートはalready in useとあります。8005ポートを使うような設定をした記憶は無いので、何が使用しているのか次の記事の方法で調べてみます。

原因特定
上記の調査によって、かなり深い階層のサービスと思われるNT Kernel & Systemがポート8005を使っていることが確認できました。Tomcat9が起動しなかったのは、この端末(Windows10)でNT Kernel & Systemが既にポート8005を使用していたためですね。