日曜プログラミング

休日趣味でやってるプログラミング関連記事をダラダラと

(解決)cider-jack-in でプロセスが 2 つ立ち上がって emacs 終了時 1 つしか終了しない話

半年以上前にこんな記事を書いた。
プロセスが残るんですけど - 日曜プログラミング

nrepl 自体はサーバクライアント型で jack-in した時サーバとクライアント両方立ち上がるようになってる。ここまでは分かるのだが、昔は M-x nrepl-close しても何で1つのプロセスしか終了しないんだよめんどくさいなと思いながら emacs 終了後は毎度毎度 java.exe をタスクマネージャで終了させてた。

が、サーバ側は別に emacs 終了してても動作させとけばいいんだと言う事にciderの公式見ていて今更気づいた。nrepl サーバが起動してない初回時のみ jack-in して後は別に emacs 再起動になってもサーバプロセスは cider*1とするだけで既に立ち上がってるサーバに接続して repl バッファが開く。

起動も早いしさすがに日中 OS 自体を頻繁に再起動する事ないからこれで良かったんだな。サーバ側が何かしらの理由で OutOfMemory とかなるかもしれんけど、それはその時再起動かければ良くそれでもこれまでよりはずっと手間が減る。

俺のアホ。

*1:nrepl.el だと nrepl-connect とかだっけ、使ったことないから分からん