プロジェクトにJupyter Notebookを使用しています。私は仕事中にLinuxクラスタにsshするので
ssh -Y -L 8000:localhost:8888 user@Host
次に、jupyter notebook --no-browser &
を使用してノートブックを起動し、端末の使用を継続できるようにします。次に、ローカルマシンでlocalhost:8000
を開き、作業に取りかかります。
私の問題は、プロセスをフォアグラウンドにし、Ctrl-C
で強制終了してサーバーを閉じるのを何度も忘れたことです。代わりに、sshセッションからログアウトしました。 jupyter notebook list
を実行すると、
Currently running servers:
http://localhost:8934/ :: /export/home/jbalsells
http://localhost:8870/ :: /export/home/jbalsells
http://localhost:8892/ :: /export/home/jbalsells
http://localhost:8891/ :: /export/home/jbalsells
http://localhost:8890/ :: /export/home/jbalsells
http://localhost:8889/ :: /export/home/jbalsells
http://localhost:8888/ :: /export/home/jbalsells
私は明らかにこれらのサーバーのすべてを私の仕事のマシンで実行したくありませんが、それらを閉じる方法がわかりません!
Psを実行しても何も得られません。
PID TTY TIME CMD
12678 pts/13 00:00:00 bash
22584 pts/13 00:00:00 ps
Jupyter 4.1.0がインストールされています。
そこで解決策を見つけました。
jupyter notebook list
はノートブックサーバーが実行されているポートを示しているので、netstat -tulpn
を使用してPIDを探しました http://www.cyberciti.biz/faq/what-から情報を取得しましたprocess-has-open-linux-port /
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 0 0.0.0.0:8649 0.0.0.0:* LISTEN
-
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
-
tcp 0 0 0.0.0.0:33483 0.0.0.0:* LISTEN
-
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN
39125/Xvnc
一生懸命見なくても、jupyter notebook list
とそれらを実行しているプロセスから探す必要のあるポートを見つけることができました(見つけにくい場合はgrep
を使用できます)。その後、kill 8337
(または関連付けられた任意の数)でそれらを殺しました。
コマンドプロンプトのWindowsシステムコマンド
Jupyterノートブックサーバープロセスを強制終了する前に、ノートブックで行ったすべての変更を保存するように注意してください。
i)jupyter Notebookサーバーが使用するポート番号を見つける
jupyter notebook list
例)
jupyter notebook list
Currently running servers:
http://127.0.0.1:8888/ :: D:\kimkk\Documents\JupyterNotebook
ii)jupyter Notebookの見つかったポート番号を使用するプロセスIDを見つける
netstat -ano | find "found portnumber"
例)
netstat -ano | find "8888"
TCP 127.0.0.1:8888 0.0.0.0:0 LISTENING 24140
TCP 127.0.0.1:8888 127.0.0.1:55588 ESTABLISHED 24140
TCP 127.0.0.1:8888 127.0.0.1:55612 ESTABLISHED 24140
TCP 127.0.0.1:55588 127.0.0.1:8888 ESTABLISHED 6492
TCP 127.0.0.1:55612 127.0.0.1:8888 ESTABLISHED 6492
iii)PIDが見つかったjupyter Notebookプロセスを強制終了します
taskkill /PID found_PID /F
例)
taskkill /PID 24140 /F
参考までに、バージョン5.1のJupyterノートブックは、次のように停止コマンドをサポートしています。
jupyter notebook stop 8888
私は同じ問題にぶつかり、上記の解決策に従いました。解決策を少し明確にしたかっただけです。
netstat -tulpn
すべてのアクティブな接続をリストします。
tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 19524/python
この場合、PID「19524」が必要になります。以下を使用して、シャットダウンしようとしているポートのPIDを取得することもできます。
fuser 8888/tcp
これにより19524も得られます。
kill 19524
ポートをシャットダウンします
次のコマンドを使用して、ポート8888で実行されているJupyterノートブックを停止します。
fuser -k 8888/tcp
これは役立つかもしれません:
jupyter notebook list
jupyterが使用するポート番号を取得します。lsof -n -i4TCP:[port-number]
PIDを取得します。 PIDは、出力の2番目のフィールドです。kill -9 [PID]
このプロセスを強制終了します。セクション3.3はこれに適用されるべきです。 http://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/execute.html
ノートブックを開くと、その「計算エンジン」(カーネルと呼ばれる)が自動的に開始されます。ノートブックのブラウザタブを閉じても、カーネルはシャットダウンされません。代わりに、明示的にシャットダウンされるまでカーネルは実行され続けます。
カーネルをシャットダウンするには、関連するノートブックに移動し、[ファイル]-> [閉じる]および[停止]メニューをクリックします。別の方法として、ノートブックダッシュボードには、実行中のすべてのノートブック(つまりカーネル)を表示し、(シャットダウンボタンをクリックして)シャットダウンできるようにするRunningという名前のタブがあります。