IPython Notebookを適切に閉じる方法は?


110

IPython Notebookを適切に閉じる方法は?

現在、私はブラウザのタブを閉じてCtrl+C、ターミナルで使用しています。
残念ながら、exit()ティックKill kernel upon exitも役に立たない(カーネルを殺すがiPythonを終了しない)。


特定のカーネル(特定のポートで開いている)のPIDは、ps -axまたはで確認できますtop。したがって、特定のプロセスを終了するために、[管理者権限]を使用してカーネルを選択的に停止できます。これがjupyterで計画されているなら?
Dr C

回答:


119

現在のところ、ターミナルでCtrl + Cを実行するより良い方法はありません。

明示的にシャットダウンする方法を考えていますが、ノートブックをユーザーが自由に停止できるシングルユーザーアプリケーションと、管理者だけが実行できるマルチユーザーサーバーとしてのノートブックの間には、緊張関係があります。それを止める。違いをどのように処理するかについては、まだ十分に検討していません。

(将来の読者のために、これは0.12がリリースされ、0.13が開発中である状況です。)

2017年12月の更新

IPython NotebookがJupyter Notebookになりました。最近のバージョンではjupyter notebook stop、そのシステムで実行されているサーバーをシャットダウンするシェルコマンドが追加されています。デフォルトのポート8888でない場合は、コマンドラインでポート番号を渡すことができます。

実行中のサーバーを表示してシャットダウンできるデスクトップアプリケーションであるnbmanagerを使用することもできます。

最後に、追加に取り組んでいます:

  • サーバーを指定された時間使用しない場合、サーバーを自動的にシャットダウンする構成オプション。
  • サーバーをシャットダウンするためのユーザーインターフェイスのボタン。(これほど時間がかかったのは少しおかしいと思います。UIの変更は物議を醸しています。)

1
(メニューのボタンを介して)明示的な強制終了を許可するオプションを提供するだけか、構成ファイルとコマンドラインで許可しないのでしょうか?そのため、サーバーを常に実行したい人は、正しい設定をセットアップするだけで済みます。
2013年

7
数年が経ちましたが、この状況はまったく変わっていませんか?Ctrl + CはまだiPython Notebookサーバーをシャットダウンする唯一の確実な方法ですか?
EFC

ノートブックUI内からシャットダウンする方法はまだありませんが、ノートブックサーバーとカーネルを一覧表示して強制終了できるツールであるnbmanagerを作成しました。
トーマスK

+ はこの状況には適用されないjupyter notebook &ため、使用することは悪い考えだと思いますCtrlC
Naveen Dennis

私はこれを試しましたが、ctrl + C以外でJupyter Notebookプロセスを実行しているコンソールに何かを入力する方法はありません。新しいpowershell /コマンドプロンプトを開き、そこからjupyter notebook stopと入力してみましたが、機能しませんでした。
julianhatwell

24

私のようなバックグラウンドでjupyterを実行する場合:

jupyter notebook &> /dev/null &

次に、Ctl-Cの代わりにjupyterを完全に終了するには、エイリアスコマンドを作成します。

echo 'alias quitjupyter="kill $(pgrep jupyter)"' >> ~/.bashrc

端末を再起動します。すべてのjupyterインスタンスを殺します:

quitjupyter

注:上記のように、単一引用符の内側に二重引用符を使用してください。逆の方法では、.bashrcに書き込む前に式を評価します(「kill 1430」や現在のjupyterインスタンスに関連付けられている可能性のあるプロセス番号ではなく、コマンド自体を書き込みたい場合)。もちろん、任意のエイリアスを使用できます。私は実際に「qjup」を使用します:

echo 'alias qjup="kill $(pgrep jupyter)"' >> ~/.bashrc

端末を再起動します。すべてのjupyterインスタンスを殺します:

qjup

kill $(pgrep jupyter)それ自体では優れています。jupyter notebookクラッシュしたリモートターミナルから実行していた-CTRL + Cのアプローチは、再度ログインすると不可能になる。リモートを再起動するという核のオプションを保存すると、これはすばらしい。
MichaelChirico

2
なぜpkill jupyterですか?pkillisですがpgreb、プロセスを強制終了するためのものです。
rmstmppr 2017

21

受け入れられた回答は時代遅れで、もう有効ではないと思います。

ファイルmenüアイテムのWebインターフェースからjupyterノートブックを終了できます。

ここに画像の説明を入力してください

マウスカーソルを「閉じると停止」の上に移動すると、以下の説明が表示されます。

ここに画像の説明を入力してください

そして「閉じると停止」をクリックすると、端末画面に以下のメッセージが表示されます。

ここに画像の説明を入力してください


15
明確にするために、これはカーネルを停止します。これは、Pythonコードを実行するプロセスです。それは停止しないノートブック・サーバなどの読み込みと保存ファイル、を扱う、ノートブック・インターフェースを作る、
トーマス・K

10

最初のステップは、開いているすべてのノートブックを保存することです。次に、実行中のJupyter Notebookをシャットダウンすることを検討してください。次の簡単なコマンドを使用できます。

$ jupyter notebook stop 
Shutting down server on port 8888 ...

これは引数としてポート番号も取り、jupyterノートブックを正常にシャットダウンできます。

たとえば:

jupyter notebook stop 8889 
Shutting down server on port 8889 ...

さらに、現在実行中のjuypterインスタンスを確認するには、以下のコマンドを確認してください。

shell> juypter notebook list 
Currently running servers:
http://localhost:8888/?token=ef12021898c435f865ec706d7c9af8607a7ba58bbee98632 :: /Users/username/jupyter-notebooks [/code]

7

これらのコマンドは私のために働きました:

jupyter notebook list # shows the running notebooks and their port-numbers
                      # (for instance: 8080)
lsof -n -i4TCP:[port-number] # shows PID.
kill -9 [PID] # kill the process.

この回答はここから転用され


5

他に何も機能しない場合は、タスクマネージャー(Windowsの場合)からpythonwプロセスを強制終了してみてください。


4
Linux (Ubuntu 14.04)

前述のように、最初にipynb / jupyterブラウザーセッションの[実行中]タブに移動してipythonノートブックプロセスを適切に強制終了してから、コンソールで開いているターミナルを確認し、ctrl-cでシャットダウンします。可能であれば、後者は避けてください。

を実行しipython notebook list、引き続き異なるポートでipythonサーバーが実行されていることを確認する場合は、既存のノートブックが提供されているポートをメモしてください。次に、TCPポートをシャットダウンします。

fuser -k 'port#'/tcp 

これを行うことに伴う他のリスクがあるかどうかはわかりません。もしそうなら、私に知らせてください。


2

環境


私のOSはUbuntu 16.04で、jupyterは4.3.0です。

方法


まず、ブラウザのホームページでjupyterをログアウトしました(ログアウトボタンは右上にあります)

次に、Ctrl + Cターミナルに入力すると、次のように表示されます。

[I 15:59:48.407 NotebookApp]ローカルディレクトリからの中断された検索ノートブック:/ home / Username 0アクティブなカーネル

Jupyter Notebookは http:// localhost:8888 /?token = a572c743dfb73eee28538f9a181bf4d9ad412b19fbb96c82で実行されています

このノートブックサーバーをシャットダウンしますか(y / [n])?

最後のステップとして、y5秒以内に入力します。表示された場合:

[C 15:59:50.407 NotebookApp]シャットダウンの確認
[I 15:59:50.408 NotebookApp]カーネルのシャットダウン

おめでとうございます!ジュピターを正常に閉じます。


2

実際には、killまたはタスクマネージャを使用してプロセスを強制終了するよりもクリーンな方法があると思います。

Jupyter Notebook Dashboard(「jupyter notebook」を最初に起動したときに表示されるブラウザーインターフェイス)で、ブラウザーで閉じたが、カーネルがまだ実行されている可能性があるノートブックファイルの場所を参照します。

iPython Notebookファイルはブックアイコンで表示され、実行中のカーネルがある場合は緑色、カーネルが実行されていない場合は灰色で表示されます。

実行中のファイルの横にあるチェックボックスを選択し、その上に表示される[シャットダウン]ボタンをクリックするだけです。

これにより、その特定のノートブックに関連付けられているカーネルが適切にシャットダウンされます。



0

2018年2月13日にリリースされたJupyter / IPython Notebook Quick Start Guide Documentationからコピーして貼り付けています。 http://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/execute.html

1.3.3ノートブックを閉じる:カーネルのシャットダウンノートブックを開くと、その「計算エンジン」(カーネルと呼ばれる)が自動的に起動します。ノートブックブラウザのタブを閉じてもカーネルはシャットダウンせず、明示的にシャットダウンされるまでカーネルは実行を続けます。カーネルをシャットダウンするには、関連するノートブックに移動し、メニューの[ファイル]-> [閉じて停止]をクリックします。または、ノートブックダッシュボードには実行中という名前のタブがあり、実行中のすべてのノートブック(つまりカーネル)を表示し、(シャットダウンボタンをクリックして)それらをシャットダウンできます。

概要:まず、実行中のノートブックを閉じて停止します。

1.3.2 Jupyter Notebookアプリをシャットダウンするブラウザー(またはタブ)を閉じても、Jupyter Notebookアプリは閉じません。完全にシャットダウンするには、関連するターミナルを閉じる必要があります。詳しくは、Jupyter Notebook Appは、ブラウザのデフォルトアドレス(http:// localhost:8888)に表示されるサーバーです。ブラウザを閉じてもサーバーはシャットダウンされません。以前のアドレスを再度開くと、Jupyter Notebookアプリが再表示されます。Jupyter Notebook Appの多くのコピーを実行でき、それらは同様のアドレスに表示されます(ポートである「:」の後の数字のみが新しいコピーごとに増加します)。1つのJupyter Notebook Appですでに多くのノートブックを開くことができるため、Jupyter Notebook Appの複数のコピーを実行することはお勧めしません。

概要:次に、Jupyterを起動したターミナルを終了します。


0

ステップ1-シェルでcontrol + z(control + c)を実行するだけステップ2 _ Webブラウザを閉じます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.