質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

0回答

790閲覧

PIDもプロセス名もないプロセスが生成されているのはなぜ?どうやってプロセス名を確認できるの?どうやって消すの?

tenchim

総合スコア8

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/12/18 04:59

編集2021/12/18 05:33

お世話になっております。

##環境
WSL2 ubuntu20.04

##状況
dockerを使用してアプリケーションを開発

##エラー
port80が既に使用されているエラーを確認。

##試したこと
Ubuntuで現在使用されているプロセス名とPID、ポート番号を確認するため

sudo netstat -tulpn

を実行したところ、以下のような結果に。
イメージ説明
port80のプロセスで、プロセス名もPIDもなく、ただport80でLISTENしている情報のみしか得られません。
いわゆるゾンビプロセスでもPIDはあるようなので、いったいこれが何なのかが分かりません。

このプロセスは
なんで生成されているのか?
プロセス名を確認するにはどうすればいいのか?
どうやって消せばいいのか?
について聞きたいです。

###2021.12.18追記
コメント内で@melian様からリクエストがありました、以下のコマンドの実行結果を追記します。

sudo lsof -i6TCP:80 -sTCP:LISTEN

実行結果
何も表示されませんでした。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melian

2021/12/18 05:19

netstat コマンドの出力結果と変わらないかもしれませんが、lsof コマンドをインストールされていましたら、 sudo lsof -i6TCP:80 -sTCP:LISTEN を実行してみて下さい。
tenchim

2021/12/18 05:28

@melian様 早速のご連絡ありがとうございます。 実行した結果を追記したので、ご確認お願いいたします。
melian

2021/12/18 05:30

ありがとうございます。何も表示されませんか。。。
tenchim

2021/12/18 05:32

@melian様 ですね。。。
angel_p_57

2021/12/18 07:29

WSL2だと仮想ホストになるWindows側でバインド・リッスンしてるアドレス・ポートの影響受けませんか? WSL2を停止してる状態で、WindowsのコマンドプロンプトやPowerShellで netstat -an を実行した結果はどうでしょうか?
tenchim

2021/12/19 14:06

@angel_p_57様 ご連絡ありがとうございます! また返信遅れてしまい、大変申し訳ございません。 バインド・リッスンとは、例えばWindows側で80番ポートをリッスンしていた場合、WSL2でもポート80番が占有されてしまう、という認識で大丈夫でしょうか。 こちらPCをシャットダウンしてからWSL2の使用ポートを確認してみたら、なぜか80番ポートが消えており、元通り80番ポートが使用できるようになりました。 なのでテストなどはできないのですが、もしWindows側での80番をバインド・リッスンしていた場合、シャットダウンしてからWindows側の80番でリッスンしていたプロセスが消えることがあるでしょうか? Windowsの「更新してシャットダウン」をしたのですが、その影響も考えられるでしょうか? 再確認としてテストなどはできない状況で大変申し訳ないのですが、そういった可能性もあり得るかを@angel_p_57様の憶測でもいいのでお伺いしてもよろしいでしょうか。
angel_p_57

2021/12/19 15:43

> バインド・リッスンとは、例えばWindows側で80番ポートをリッスンしていた場合、WSL2でもポート80番が占有されてしまう、という認識で大丈夫でしょうか。 ホストであるWindowsも、WSL2上のLinuxも、同じアドレスを共有しているので、Windows側で80番ポートを使っていればWSL2から改めて80番は使えない、ということを意図しています。 使えないのは原理的に確定で良いと思いますが、Linux上のnetstatでListen状態が観測されるかは、私の方ではWSL2環境がなくて確認できていません。 WSL1で(80番ではないですが)Windows側の使用中ポートを使おうとすると、Permission deniedのエラーで失敗することは確認しています。ただし、netstatではListen状態は現れませんでした。 ※135, 445等、Windowsが標準で使うポートがあるので、WSL2でどう見えるかは確認してみてもいいのではないでしょうか。 > シャットダウンしてからWindows側の80番でリッスンしていたプロセスが消えることがあるでしょうか? Windows側で動いていたプログラム次第なのでなんとも言えないところですが、一時的に使っていただけならそういうこともありうるでしょう、くらいでしょうか。
tenchim

2021/12/19 17:01

>ホストであるWindowsも、WSL2上のLinuxも、同じアドレスを共有しているので、Windows側で80番ポートを使っていればWSL2から改めて80番は使えない、ということを意図しています。 使えないのは原理的に確定で良いと思いますが、Linux上のnetstatでListen状態が観測されるかは、私の方ではWSL2環境がなくて確認できていません。 なるほどです。 ありがとうございます。 >WSL1で(80番ではないですが)Windows側の使用中ポートを使おうとすると、Permission deniedのエラーで失敗することは確認しています。ただし、netstatではListen状態は現れませんでした。 ※135, 445等、Windowsが標準で使うポートがあるので、WSL2でどう見えるかは確認してみてもいいのではないでしょうか。 こちら確認いたしました。 Windowsで >netstat -nao | find "135" を実行すると、ポート135番を使用しているTCPのプロセスが表示されました。一方Ubuntuで sudo lsof -i:135 を実行すると、何も表示されませんでした。 なのでポート80番を占有していたのはLinux関連のプロセスになりそうです。 シャットダウンすると消えるLinuxのプロセス....とは。知識不足で分からないです。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問