0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

sbt run が立ち上がらないときの対処法

Posted at

はじめに

こんにちは。
こちらの記事では、sbt run が立ち上がらないときの対処法を記しています。

前提

開発時に下記の環境を使用しておりました。

  • Playframework
  • sbt
  • tmux

起きていること

あるとき、Playframework で sbt run でローカル環境を起動しようとすると、下記のようなエラーが発生しました。

a.i.TcpListener - Bind failed for TCP channel on endpoint [/0.0.0.0:9000]
java.net.BindException: Address already in use

どうやら localhost:9000 が別のどこかで起動しているようで、sbt run が動作しない状況でした。そこで、起動しているところがないか確かめてみました。

調査・試したこと

tmuxのセッションやウィンドウ、ターミナルのタブを全て確認

まずは、現在立ち上がっているウィンドウを全て確認してみました。
sbtが立ち上がっていたウィンドウは一旦sbtを停止、それでも sbt run のエラーはそのまま。

a.i.TcpListener - Bind failed for TCP channel on endpoint [/0.0.0.0:9000]
java.net.BindException: Address already in use

tmux ls コマンドで、バックエンドで tmux が立ち上がっていないか確認してみる

$ tmux ls
0: ~~~ (attached)
1: ~~~ (attached)

確認してみると、セッションはすべて attached で起動中なので、すべて sbt が起動していないことは確認済み。

ps aux コマンドで sbt を確認

ps aux | grep sbt のコマンドで、sbt が立ち上がっていないか確認してみる。

参考:https://www.itmedia.co.jp/help/tips/linux/l0158.html

$ ps aux | grep sbt
namehoge   01010   ~~~ sbt
namehoge   02020   ~~~ sbt
namehoge   03030   ~~~ sbt

すると、複数箇所で sbt が立ち上がっていたことを確認。

sudo kill コマンドでプロセスを落とす

sudo kill -9 <プロセス名> で、不要なプロセスを強制的に落とす。

参考:https://qiita.com/miriwo/items/7bfd5cb03a8946c6b017

$ sudo kill -9 ~~~

立ち上げたいプロジェクト以外のプロセスを落とした後に、sbt を再起動すると正常に動作するかと思います。

おわりに

ここまで、tmux 利用時に sbt run が立ち上がらない対処法についてまとめました。
以上、最後まで読んでいただきありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?