답변:
현재 터미널에서 Ctrl + C보다 더 좋은 방법은 없습니다.
우리는 명시 적으로 종료하는 방법에 대해 생각하고 있지만 노트북은 단일 사용자 응용 프로그램으로, 사용자가 자유롭게 중지 할 수있는 노트북과 다중 사용자 서버로, 관리자 만 할 수 있어야하는 사이에 약간의 긴장이 있습니다. 그것을 중지합니다. 우리는 아직 차이점을 처리하는 방법을 찾지 못했습니다.
(향후 독자를 위해 0.12가 출시되고 0.13이 개발중인 상황입니다.)
2017 년 12 월 업데이트
IPython 노트북은 Jupyter 노트북이되었습니다. 최신 버전에는 jupyter notebook stop
해당 시스템에서 실행중인 서버를 종료 하는 셸 명령 이 추가되었습니다 . 기본 포트 8888이 아닌 경우 명령 줄에서 포트 번호를 전달할 수 있습니다.
실행중인 서버를 표시하고 종료 할 수있는 데스크톱 애플리케이션 인 nbmanager 를 사용할 수도 있습니다 .
마지막으로 다음을 추가하기 위해 노력하고 있습니다.
jupyter notebook &
이후 나쁜 생각 Ctrl
+는 C
이 상황에 적용되지 않습니다
나처럼 백그라운드에서 jupyter를 실행하면 :
jupyter notebook &> /dev/null &
그런 다음 Ctl-C 대신 jupyter를 완전히 종료하려면 alias 명령을 작성하십시오.
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 접근 방식은 다시 로그인 할 때 불가능합니다. 원격을 다시 시작하는 핵 옵션을 저장하면 좋습니다.
pkill jupyter
? pkill
입니다 pgreb
만, 프로세스를 종료합니다.
첫 번째 단계는 열려있는 모든 노트북을 저장하는 것입니다. 그런 다음 실행중인 Jupyter 노트북을 종료하는 것을 고려하십시오. 다음과 같은 간단한 명령을 사용할 수 있습니다.
$ 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]
Linux (Ubuntu 14.04)
앞서 언급했듯이 먼저 ipynb / jupyter 브라우저 세션의 "실행 중"탭으로 이동하여 ipython 노트북 프로세스를 올바르게 종료 한 다음 콘솔에서 열린 터미널을 확인하고 ctrl-c로 종료합니다. 후자는 가능하면 피해야합니다.
를 실행하고 ipython notebook list
다른 포트에서 ipython 서버가 계속 실행되는 것을 확인하는 경우 기존 노트북이 제공되는 포트를 기록해 두십시오. 그런 다음 TCP 포트를 종료합니다.
fuser -k 'port#'/tcp
이 작업과 관련된 다른 위험이 있는지 잘 모르겠습니다. 그렇다면 알려주세요.
환경
내 OS는 Ubuntu 16.04이고 jupyter는 4.3.0입니다.
방법
먼저 브라우저의 홈페이지에서 jupyter를 로그 아웃했습니다 (로그 아웃 버튼은 오른쪽 상단에 있음).
둘째, Ctrl + C
터미널에 입력 하면 다음과 같이 표시됩니다.
[I 15 : 59 : 48.407 NotebookApp] 로컬 디렉토리에서 노트북 제공 중단됨 : / home / Username 0 활성 커널
Jupyter 노트북은 http : // localhost : 8888 /? token = a572c743dfb73eee28538f9a181bf4d9ad412b19fbb96c82 에서 실행됩니다.
이 노트북 서버를 종료 하시겠습니까 (y / [n])?
마지막 단계 y
에서 5 초 이내에 입력 하고 다음이 표시되면 다음을 입력합니다.
[C 15 : 59 : 50.407 NotebookApp] 종료 확인
[I 15 : 59 : 50.408 NotebookApp] 커널 종료
축하합니다! jupyter를 성공적으로 닫았습니다.
사실 저는 kill 또는 task manager를 사용하여 프로세스를 죽이는 것보다 더 깨끗한 방법이 있다고 생각합니다.
Jupyter 노트북 대시 보드 ( 'jupyter 노트북'을 처음 실행할 때 표시되는 브라우저 인터페이스)에서 브라우저에서 닫았지만 커널이 여전히 실행중인 노트북 파일의 위치를 찾습니다.
iPython 노트북 파일은 책 아이콘과 함께 나타납니다. 실행중인 커널이있는 경우 녹색으로 표시되고 커널이 실행되지 않는 경우 회색으로 표시됩니다.
실행중인 파일 옆의 확인란을 선택한 다음 그 위에 나타나는 종료 버튼을 클릭하면됩니다.
그러면 특정 노트북과 관련된 커널이 제대로 종료됩니다.
2018 년 2 월 13 일에 출시 된 Jupyter / IPython 노트북 빠른 시작 가이드 문서에서 복사하여 붙여넣고 있습니다. http://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/execute.html
1.3.3 노트북 닫기 : 커널 종료 노트북이 열리면 "계산 엔진"(커널이라고 함)이 자동으로 시작됩니다. 노트북 브라우저 탭을 닫아도 커널이 종료되지 않고 명시 적으로 종료 될 때까지 커널이 계속 실행됩니다. 커널을 종료하려면 관련 노트북으로 이동하여 메뉴 파일-> 닫기 및 중지를 클릭합니다. 또는 노트북 대시 보드에는 실행중인 모든 노트북 (예 : 커널)을 표시하고 종료 (종료 버튼 클릭)를 허용하는 실행 탭이 있습니다.
요약 : 먼저 실행중인 노트북을 닫고 중지합니다.
1.3.2 Jupyter 노트북 앱 종료 브라우저 (또는 탭)를 닫아도 Jupyter 노트북 앱이 닫히지 않습니다. 완전히 종료하려면 관련 터미널을 닫아야합니다. 자세히 설명하면 Jupyter 노트북 앱은 브라우저에 기본 주소 ( http : // localhost : 8888 )로 표시되는 서버입니다 . 브라우저를 닫아도 서버는 종료되지 않습니다. 이전 주소를 다시 열 수 있으며 Jupyter 노트북 앱이 다시 표시됩니다. Jupyter 노트북 앱의 여러 사본을 실행할 수 있으며 유사한 주소에 표시됩니다 (포트 인 ":"뒤의 숫자 만 새 사본마다 증가 함). 하나의 Jupyter 노트북 앱으로 이미 많은 노트북을 열 수 있으므로 Jupyter 노트북 앱의 여러 사본을 실행하지 않는 것이 좋습니다.
요약 : 둘째, Jupyter를 실행 한 터미널을 종료합니다.
1 단계-셸에서 control + z (control + c) 만 수행합니다. 2 단계 _ 웹 브라우저를 닫습니다.
ps -ax
또는 로 볼 수 있습니다top
. 따라서 커널은 특정 프로세스를 종료하기 위해 [관리 권한]으로 선택적으로 중지 할 수 있습니다. # kill PID-of-ki 이것은 커널에 대한 내부 종료 절차를 허용하지 않지만 강제 Ctl-C 유형도 허용하지 않습니다 .... 누구든지 알고 있습니까? 이것이 jupyter에 대한 계획이라면?