別記事で悩んでいたことを違うアプローチで解決する方法です。

 

一言で言うと、
・機械学習の勉強本の長くて一度に読み切れないノートブックの学習を、
・途中から再開するときに、
・最初から実行し直す時間を削減する方法
です。

bashの一般論ですので、コマンドになれている人なら当たり前のことかもしれませんが、自分的には結構感動したので。

[I 2023-07-11 06:06:37.535 ServerApp] Connecting to kernel xxxx
^Z
zsh: suspended  jupyter lab

ターミナル(私はMacです)でcontrol+zでJupyterがサスペンドされます。この時点でブラウザからは当然アクセスできなくなります。

% jobs
[1]  + suspended  jupyter lab

jobsを実行してサスペンドされているジョブの番号を確認します。

% fg %1
[1]  + continued  jupyter lab

fgの%xのxに番号を指定して実行します。これでブラウザからJupyterに再度アクセスできるようになります。

Macならサスペンド中はウィンドウを黄色ボタンで最小化してDockにしまっておけば、気になることもないと思います。存在を忘れてしまいそうですが。

まぁそもそも論的には、起動しているJupyterのプロセス消費量なんて大したことないので、気にしないという手もあるのですが、私的にはどうにも精神衛生上よろしくなく、PowerNapが余計なことをしてOSのサスペンドを邪魔していたらどうしようと悩んでいたものですから、結構助かりました。

ここでさらにサスペンドしたジョブのイメージをディスクに書けたりすると良いのですが、ざっと調べた限りでは、そういう方法は見当たりませんでした。何か情報お持ちの方は教えてください。

今回の参考記事はこちらです。
https://stackoverflow.com/questions/20649783/pause-a-running-script-in-mac-terminal-and-then-resume-later

bannerAds