ポートが使えない時に動いているプログラムの確認と解放方法
Spring Cloud Functionの検証でローカル環境で実行しようとした時に以下のメッセージが出て使えないことがある。
> Task :azureFunctionsRun FAILED Azure Function App's staging directory found at: /Users/miyohide/work/azure_func_java/build/azure-functions/myAzureFunc-1677673588191 Port 7071 is unavailable. Close the process using that port, or specify another port using --port [-p]. FAILURE: Build failed with an exception.
プログラムの確認方法としてはlsof -P -i:ポート番号
を実行するとよい。以下の結果が出力される。
miyohide@tsubame azure_func_java % lsof -P -i:7071 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME func 20092 miyohide 346u IPv4 0x2d22e046e232566f 0t0 TCP *:7071 (LISTEN)
強制終了するには、kill -9 PID番号
を実行する。上記で言えばkill -9 20092
を実行すればOK。
miyohide@tsubame azure_func_java % kill -9 20092 miyohide@tsubame azure_func_java %
以下のブログを参考にしました。