Jak poprawnie zamknąć Notatnik IPython?
Obecnie po prostu zamykam karty przeglądarki, a następnie używam Ctrl+C
w terminalu.
Niestety, exit()
ani zaznaczanie Kill kernel upon exit
nie pomaga (zabijają jądro, ale nie wychodzą z iPythona).
Jak poprawnie zamknąć Notatnik IPython?
Obecnie po prostu zamykam karty przeglądarki, a następnie używam Ctrl+C
w terminalu.
Niestety, exit()
ani zaznaczanie Kill kernel upon exit
nie pomaga (zabijają jądro, ale nie wychodzą z iPythona).
Odpowiedzi:
Obecnie nie ma lepszego sposobu na zrobienie tego niż Ctrl + C w terminalu.
Zastanawiamy się, jak jawnie wyłączyć, ale istnieje pewne napięcie między notebookiem jako aplikacją dla jednego użytkownika, w której użytkownik może go zatrzymać, a serwerem dla wielu użytkowników, na którym tylko administrator powinien mieć możliwość żeby to zatrzymać. Jeszcze nie wymyśliliśmy, jak sobie radzić z różnicami.
(Dla przyszłych czytelników jest to sytuacja z wydaniem 0,12 i 0,13 w fazie rozwoju).
Aktualizacja z grudnia 2017 r
Notatnik IPython stał się notatnikiem Jupyter. W najnowszej wersji dodano jupyter notebook stop
polecenie powłoki, które wyłączy serwer działający w tym systemie. Możesz podać numer portu w wierszu poleceń, jeśli nie jest to domyślny port 8888.
Możesz także użyć nbmanager , aplikacji komputerowej, która może wyświetlać uruchomione serwery i je wyłączać.
Na koniec pracujemy nad dodaniem:
jupyter notebook &
jest złym pomysłem, ponieważ Ctrl
+ C
nie ma zastosowania w tej sytuacji
Jeśli uruchomisz jupyter w tle, tak jak ja:
jupyter notebook &> /dev/null &
Następnie, aby całkowicie wyjść z jupyter, zamiast Ctl-C, wykonaj polecenie aliasu:
echo 'alias quitjupyter="kill $(pgrep jupyter)"' >> ~/.bashrc
Uruchom ponownie terminal. Zabij wszystkie instancje jupyterów:
quitjupyter
Uwaga: użyj podwójnych cudzysłowów wewnątrz pojedynczych cudzysłowów, jak pokazano powyżej. Na odwrót oceni wyrażenie przed zapisaniem go do twojego .bashrc (chcesz napisać samo polecenie, a nie „kill 1430” lub inny numer procesu, który może być powiązany z bieżącą instancją jupyter). Oczywiście możesz użyć dowolnego aliasu. Właściwie używam „qjup”:
echo 'alias qjup="kill $(pgrep jupyter)"' >> ~/.bashrc
Uruchom ponownie terminal. Zabij wszystkie instancje jupyterów:
qjup
kill $(pgrep jupyter)
w sobie jest doskonały. Biegałem jupyter notebook
ze zdalnego terminala, który się zawiesił - podejście CTRL + C jest wtedy niemożliwe po ponownym zalogowaniu. Zapisanie nuklearnej opcji ponownego uruchomienia zdalnego, jest świetne.
pkill jupyter
? pkill
jest pgreb
, ale do zabijania procesów.
Uważam, że zaakceptowana odpowiedź jest nieaktualna i nie jest już ważna.
Notatnik jupyter można zakończyć z poziomu interfejsu internetowego w pozycji menu pliku.
Kiedy przesuniesz kursor myszy na „zamknij i zatrzymaj”, zobaczysz następujące wyjaśnienie.
Gdy klikniesz „zamknij i zatrzymaj”, na ekranie terminala pojawi się następujący komunikat.
Pierwszym krokiem jest zapisanie wszystkich otwartych notatników. A potem pomyśl o wyłączeniu uruchomionego notebooka Jupyter. Możesz użyć tego prostego polecenia:
$ jupyter notebook stop
Shutting down server on port 8888 ...
Co również przyjmuje numer portu jako argument i można z wdziękiem zamknąć notebook jupyter.
Na przykład:
jupyter notebook stop 8889
Shutting down server on port 8889 ...
Dodatkowo, aby poznać bieżącą uruchomioną instancję Juypter, sprawdź poniższe polecenie:
shell> juypter notebook list
Currently running servers:
http://localhost:8888/?token=ef12021898c435f865ec706d7c9af8607a7ba58bbee98632 :: /Users/username/jupyter-notebooks [/code]
Linux (Ubuntu 14.04)
Jak wspomniano, spróbuj poprawnie zabić procesy ipython notebook, przechodząc najpierw do zakładki „Running” w sesji przeglądarki ipynb / jupyter, a następnie sprawdź otwarte terminale na konsoli i zamknij za pomocą ctrl-c. W miarę możliwości należy unikać tego ostatniego.
Jeśli uruchomisz ipython notebook list
i nadal widzisz działające serwery ipython na różnych portach, zanotuj, do których portów są obsługiwane istniejące notebooki. Następnie zamknij porty TCP:
fuser -k 'port#'/tcp
Nie jestem pewien, czy wiąże się to z innym ryzykiem. Jeśli tak, daj mi znać.
Środowisko
Mój system operacyjny to Ubuntu 16.04, a jupyter to 4.3.0.
metoda
Najpierw wylogowałem się z jupyter na jego stronie głównej w przeglądarce (przycisk wylogowania znajduje się w prawym górnym rogu)
Po drugie, wpisz Ctrl + C
swój terminal, a zobaczysz:
[I 15: 59: 48.407 NotebookApp] przerwano Udostępnianie notebooków z katalogu lokalnego: / home / Nazwa użytkownika 0 aktywnych jąder
Notebook Jupyter działa pod adresem : http: // localhost: 8888 /? Token = a572c743dfb73eee28538f9a181bf4d9ad412b19fbb96c82
Czy wyłączyć ten serwer notebooka (t / [n])?
Ostatni krok, wpisz w y
ciągu 5 sekund i jeśli wyświetli się:
[C 15: 59: 50.407 NotebookApp] Zamknięcie potwierdzone
[I 15:59: 50.408 NotebookApp] Wyłączanie jądra
Gratulacje! Pomyślnie zamykasz swój jupyter.
Właściwie uważam, że istnieje czystszy sposób niż zabijanie procesu (ów) za pomocą funkcji zabijania lub menedżera zadań.
W pulpicie nawigacyjnym notatnika Jupyter (interfejs przeglądarki, który widzisz po pierwszym uruchomieniu „jupyter notebook”), przejdź do lokalizacji plików notatników, które zostały zamknięte w przeglądarce, ale których jądra mogą nadal działać.
Pliki iPython Notebook pojawiają się z ikoną książki, pokazaną na zielono, jeśli jądro jest uruchomione, lub na szaro, jeśli jądro nie jest uruchomione.
Po prostu zaznacz pole wyboru obok uruchomionego pliku, a następnie kliknij przycisk Zamknij, który pojawi się nad nim.
Spowoduje to prawidłowe zamknięcie jądra związanego z tym konkretnym notebookiem.
W sesji przeglądarki możesz również przejść do, Kernel
a następnie kliknąć Restart and Clear Output
.
Kopiuję wklejanie z dokumentacji Jupyter / IPython Notebook Quick Start Guide, wydanej 13 lutego 2018 r. Http://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/execute.html
1.3.3 Zamknięcie notatnika: wyłączenie jądra Po otwarciu notatnika automatycznie uruchamiany jest jego „silnik obliczeniowy” (zwany jądrem). Zamknięcie karty przeglądarki notebooka nie spowoduje wyłączenia jądra, zamiast tego jądro będzie działało do momentu jawnego wyłączenia. Aby wyłączyć jądro, przejdź do powiązanego notatnika i kliknij menu Plik -> Zamknij i zatrzymaj. Alternatywnie pulpit nawigacyjny notebooka ma kartę o nazwie Uruchomione, która pokazuje wszystkie uruchomione notatniki (tj. Jądra) i umożliwia ich zamknięcie (przez kliknięcie przycisku Zamknij).
Podsumowanie: Najpierw zamknij i zatrzymaj działanie notebooków.
1.3.2 Zamknij aplikację Jupyter Notebook Zamknięcie przeglądarki (lub karty) nie spowoduje zamknięcia aplikacji Jupyter Notebook. Aby całkowicie go wyłączyć, musisz zamknąć powiązany terminal. Mówiąc bardziej szczegółowo, aplikacja Jupyter Notebook to serwer, który pojawia się w przeglądarce pod domyślnym adresem ( http: // localhost: 8888 ). Zamknięcie przeglądarki nie spowoduje wyłączenia serwera. Możesz ponownie otworzyć poprzedni adres, a aplikacja Jupyter Notebook zostanie ponownie wyświetlona. Możesz uruchomić wiele kopii aplikacji Jupyter Notebook, które pojawią się pod podobnym adresem (tylko numer po „:”, który jest portem, będzie się zwiększał dla każdej nowej kopii). Ponieważ za pomocą jednej aplikacji Jupyter Notebook możesz już otworzyć wiele notatników, nie zalecamy uruchamiania wielu kopii aplikacji Jupyter Notebook.
Podsumowanie: Po drugie, wyjdź z terminalu, z którego wystrzeliłeś Jupytera.
Krok 1 - W powłoce po prostu wykonaj control + z (control + c) Krok 2 - zamknij przeglądarkę internetową
ps -ax
lubtop
. W ten sposób jądra mogą być selektywnie zatrzymywane z [przywilejem administratora], aby zakończyć ten konkretny proces: # kill PID-of-ki To nie pozwala na żadne wewnętrzne procedury zamykania jądra, ale nie ma też wymuszonego typu Ctl-C .... Czy ktoś wie czy to jest planowane dla jupyter?