プロセスを殺す
Homesteadを使ったローカル開発環境(vagrant仮想マシン)で、複数のLaravelプロジェクトを触っている時に、ビルトインwebサーバーを立ち上げようとすると
Failed to listen on 192.168.10.10:8000 (reason: Address already in use)
のエラーが出た。立ち上げたwebサーバーを止めずに、うっかり別ディレクトリを移動したから、ポートが塞がったままになっている。
そんな時は、8000ポートを使ってるプロセスIDを見つけて
$ ps ax | grep php 1009 ? Ss 0:00 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf) 1023 ? Ss 0:00 php-fpm: master process (/etc/php/7.1/fpm/php-fpm.conf) 1025 ? Ss 0:00 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf) 1577 ? S 0:00 php-fpm: pool www 1660 ? S 0:00 php-fpm: pool www 1663 ? S 0:00 php-fpm: pool www 1697 ? S 0:00 php-fpm: pool www 1698 ? S 0:00 php-fpm: pool www 3508 pts/1 S+ 0:00 php artisan serve --host 192.168.10.10 --port 8000 3512 pts/1 S+ 0:00 sh -c '/usr/bin/php7.4' -S 192.168.10.10:8000 '/home/vagrant/code/project01'/server.php 3513 pts/1 S+ 0:00 /usr/bin/php7.4 -S 192.168.10.10:8000 /home/vagrant/code/project01/server.php 3523 pts/0 R+ 0:00 grep --color=auto php
そのプロセスを殺す。
$ kill 3513
そしてビルトインwebサーバーを立ち上げると、今度は立ち上がる。
vagrantを日常的に触るようになると、これまで使い方が曖昧だったLinuxコマンドも、きちんと把握せねば!と思う。grepのオプションとか。