質問: 現在Dockerを勉強しており、はじめてのDocker for Mac を参考にしています。 結論から言うと、**どのプロセスIDをkillすればいいのか?またなぜ複数あるうちのそのプロセスIDをkillするのか**教えていただければと思います。 ``` docker run -d -p 80:80 --name webserver nginx ``` を実行したところ、「すでに80は使用している」という内容のエラーがでました。 そこで80のプロセスをkillしようと思ったのですが、以下のように表示され、どれをkillすればいいかわかりません。 ``` sudo lsof -P -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME httpd 97 root 4u IPv6 0t0 TCP *:80 (LISTEN) httpd 409 _www 4u IPv6 0t0 TCP *:80 (LISTEN) httpd 55456 _www 4u IPv6 0t0 TCP *:80 (LISTEN) httpd 55457 _www 4u IPv6 0t0 TCP *:80 (LISTEN) httpd 55458 _www 4u IPv6 0t0 TCP *:80 (LISTEN) ``` 複数出ているためどれをkillしていいかわからず、また、80ポートのものをkillして問題が起こらないのか、影響範囲はどうか、といったことがわからないため安易にkillできません。 ネットで調べたのですが、明確な回答にはたどり着けなかったため質問させていただきました。 **どのプロセスIDをkillすればいいのか?またなぜ複数あるうちのそのプロセスIDをkillするのか**教えていただければと思います。
回答: `lsof` コマンドの実行結果一覧に `httpd` と出ているので、恐らく Apache のプロセスが既に起動しており `:80` のポートを使用している状態なのだと思います。 以下のコマンドを実行して Apache を停止してみてください。 ``` $ sudo apachectl stop ```