MacOSX では、Packer を使用して Vagrant ボックスを構築しているため、継続的に起動と終了を行う必要があります。「vagrant up」を試行すると、ポートが使用中であるため、標準エラーが表示されます。
「Vagrant はこの VM 上の指定されたポートを転送できません。これらのポートを既にリッスンしている他のアプリケーションと衝突する可能性があるためです。8080 に転送されたポートは、ホスト マシン上で既に使用されています。」
解決策は簡単そうです。ポート 8080 を開いたままにしているプロセスを特定して、そのプロセスを強制終了するだけです。そう簡単ではありません。
次のコマンドを実行すると:
nmap localhost -p 8080
次のような出力が表示されます。
PORT STATE SERVICE
8080/tcp open http-proxy
次のコマンドを実行すると:
top -o prt
1360年に使用された最も高い港
次のコマンドを実行すると:
netstat -tulpn | grep :8080
私は受け取ります:
netstat: n: unknown or uninstrumented protocol
次のコマンドを実行すると:
lsof -i :8080
出力が得られない
コンピュータを再起動すると、ポートが使用可能になり、「vagrant up」できるようになります。
コンピューターを再起動せずに vagrant up を実行できるように、ポート 8080 を使用しているプロセスをすべて終了するにはどうすればよいですか?
ベストアンサー1
これは役に立つかもしれない
lsof -n -i4TCP:8080
PID は出力の 2 番目のフィールドです。
または、以下を試してください:
lsof -i -P