わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

サーバプロセスをサスペンドしてしまったら

「何人かの学生から,サーバ起動時にエラーが出て終了すると問い合わせをもらいました.画面を見せてもらうと,起動コマンドの何行か前に,『^Z』という表示がありました.
先に起動したサーバを,Ctrlを押しながらZのキーで,止めたと思われます.
なのですが,Ctrl + Zは,『サスペンド』すなわち一時停止を行う,シェルでのキー操作となります.
サスペンドだと,プロセス(実行中のプログラムのことです)は保持されています.サーバプログラムでは,ソケットを作って,それを指定のポート番号に結びつけて,クライアントからの接続を待ち受けています.そういった状況も,キープしているのです.
そしてその状況で,別にサーバを起動するとなると,ソケットを『指定のポート番号に結びつけ』る段階で失敗し,エラー終了となるわけです.
対策ですが,サスペンドしたプロセスを終了させてください.killコマンドでプロセスIDを指定するという手もありますが,おすすめは『fg』というコマンドです.コマンドですので最後にEnterキーも忘れずに.それと,クライアントの端末ではなく,サーバをサスペンドした端末で実行してください.引数は不要です.
fgコマンドで,サスペンドしていたプロセスが,実行中の状態に復帰します.
プロセス終了のためのキー操作は,Ctrlを押しながらCです」