GoでWebアプリを書いて、
端末から、
#コンパイル appはファイル名 go build -o app #サーバ起動 ./app 2016/04/07 08:45:05 Webサーバーを開始します。ポート: :8080
これで一度サーバを開くでしょ。
ブラウザでアプリが立ち上がっていることもわかる。
このサーバでCtrl + ZでSIGTSTP(プロセス停止)を行う。
プログラムを修正して再度サーバを立ち上げようとすると、
go build -o app ./app 2016/04/07 08:44:20 Webサーバーを開始します。ポート: :8080 2016/04/07 08:44:20 ListenAndServe:listen tcp :8080: bind: address already in use
先ほど立ち上げたサーバはすでに使われているとなる。
おかしいなぁ…
一応ブラウザでサーバが立ち上がっていないか調べてみると、
サーバは終了しているらしい。
とりあえず、プロセスを確認してみると、
ps PID TTY TIME CMD 4734 pts/5 00:00:00 bash 4757 pts/5 00:00:00 app 5783 pts/5 00:00:00 ps
appが残ってた。
そういや、サーバを止めるとき、終了ではなく停止だった。
ということで、
#appのプロセスをkill kill -KILL 4757 ./app 2016/04/07 08:44:20 Webサーバーを開始します。ポート: :8080
プロセスをkillしてから、再度サーバを立ち上げたらできた。
ブラウザでサーバが立ち上がっているかを表示すると、
Webアプリの画面が表示された。
これでサーバが再度立ち上がったことがわかる。
サーバを終了した後、再度立ち上げようとしてエラーになったら、
とりあえずプロセスをkillすればよいのね。
関連記事