Computer Science/Jupyter

[Jupyter] Jupyter에 관한 소소하지만 유용할 수 있는 정보

2021. 3. 31. 18:30

1. 실행을 기다리는 cell을 수정한 후, 다시 실행 예약을 시키면 수정한 대로 바로 돌아갈까?

예를 들면, 아래와 같은 상황이다.

첫 번째 cell이 실행되는 중에 두 번째 cell의 내용을 아래와 같이 수정하고, 다시 [CTRL]+[ENTER]로 실행 예약을 시키면

두 번째 cell에서 Hello Blog가 출력될까?

 

.

.

.

잘 출력된다! 그런데 두 번째 cell의 Hello가 출력되기까지 5초 정도가 걸렸다. 즉, 내 생각에는 이전에 예약해두었던 작업이 다 돌아가고 (출력은 없이), 새로운 작업이 시작되는 것 같다. 그래서 정말 오래 걸리는 작업을 예약했다가 수정해야하는 상황이라면 kernel session을 shut down한 후에 다시 예약을 걸어두는 것이 시간을 절약하는 방법이 될 수 있을 것 같다.

 

 

2. 실행 중인 Jupyter가 있을 때 Chrome을 끄면 바로 꺼질까?

Chrome에서 JupyterLab을 돌리고 있으면 다음처럼 모래시계 표시가 뜬다. 이때 창을 닫으려고 하면 바로 닫힐까? 아니면 정말로 닫을 것인지 안내창이 먼저 나타날까?

닫아봤더니,

.

.

.

안내창을 띄워준다 (크롬 기준)! 하지만 위 경고문이 뜨는 이유는 다음과 같이 command를 실행시켰을 때 Jupyter 파일이 unsaved로 바뀌기 때문인데,

만약에 command를 실행시킨 후 저장을 했다면 경고문 없이 창이 바로 꺼진다.

 

파일 창을 닫는 경우도 마찬가지로 저장이 안된 상태에서는 아래와 같은 경고문을 띄워주지만 저장한 상태라면 바로 꺼진다.

 

3. 실행 중인 Jupyter를 닫았을 때, 실행되던 Cell은 어떻게 될까?

아래의 cell을 실행시킨 후 크롬 창을 닫았을 때 (혹은 파일 창을 닫았을 때) 어떻게 되는지 확인해보았다.

 

.

.

.

 

실행 결과, Hello world!가 출력되지는 않았지만, test.txt 파일은 생성된 것을 확인할 수 있었다.

중간에 top 명령어로 확인해봐도 python이 돌아가고 있던 것을 확인할 수 있었다.

 

위 내용은 사실 저장과 상관없이 작동된다. 즉, cell을 저장하지 않은 상태에서 돌린 후 Jupyter를 끄면 (경고문 무시) cell 자체는 저장이 안된 상태이지만 test.txt는 생성될 수 있다.

 

물론 중간에 kernel이 shutdown된다면 즉시 종료되고, 더 이상 수행되지 않는다. 즉, 중요한 것은 kernel의 shutdown 여부로 이해하면 될 것 같다.

 

 

 

 

 

 

 

 

728x90
반응형