ne peut pas quitter jupyter notebook notebook en cours d'exécution
J'utilise Jupyter Notebook pour un projet. Depuis que je ssh dans un cluster linux au travail j'utilise
ssh -Y -L 8000:localhost:8888 user@Host
Ensuite, je lance le cahier avec jupyter notebook --no-browser &
pour pouvoir continuer à utiliser le terminal. Ensuite, sur mon ordinateur local, je ouvre localhost:8000
et je fais mon travail.
Mon problème est que j'ai oublié plusieurs fois de fermer le serveur en mettant en avant le processus et en le tuant avec Ctrl-C
. Au lieu de cela, je viens de me déconnecter de la session SSH. Maintenant, quand je lance jupyter notebook list
je reçois
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
Je ne veux évidemment pas que tous ces serveurs fonctionnent sur la machine de mon travail, mais je ne sais pas comment les fermer!
Quand je cours, je n'ai rien:
PID TTY TIME CMD
12678 pts/13 00:00:00 bash
22584 pts/13 00:00:00 ps
Jupyter 4.1.0 est installé.
Commandes des systèmes Windows sur Invite de commandes
Veillez à enregistrer toutes les modifications apportées à vos blocs-notes avant de supprimer le processus du serveur de blocs-notes jupyter.
i) trouver le numéro de port utilisé par le serveur de notebook jupyter
jupyter notebook list
ex.)
jupyter notebook list
Currently running servers:
http://127.0.0.1:8888/ :: D:\kimkk\Documents\JupyterNotebook
ii) recherche les identifiants de processus utilisant le numéro de port trouvé de jupyter notebook
netstat -ano | find "found portnumber"
ex.)
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
- trouver des lignes avec la deuxième valeur de colonne égale à "8888". Dans l'exemple ci-dessus, les première, deuxième et troisième lignes sont des lignes cibles. Dans ces lignes, vous pouvez trouver le PID dans la dernière colonne (ex. 24140).
iii) Éliminer le processus du bloc-notes jupyter avec le PID trouvé
taskkill /PID found_PID /F
ex.)
taskkill /PID 24140 /F
- / F signifie tuer de force le processus.
Pour votre information, le bloc-notes Jupyter à partir de la version 5.1 prend en charge la commande d'arrêt comme suit:
jupyter notebook stop 8888
se référer à https://github.com/jupyter/notebook/issues/1950
J'ai rencontré le même problème et suivi la solution affichée ci-dessus. Je voulais juste clarifier un peu la solution.
netstat -tulpn
listera toutes les connexions actives.
tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 19524/python
vous aurez besoin du PID "19524" dans ce cas. vous pouvez même utiliser ce qui suit pour obtenir le PID du port que vous essayez d'éteindre
fuser 8888/tcp
cela vous donnera 19524 aussi.
kill 19524
va fermer le port
Cela pourrait aider:
- lancez
jupyter notebook list
pour obtenir le numéro de port utilisé par jupyter. - lancez
lsof -n -i4TCP:[port-number]
pour obtenir le PID . Le PID est le deuxième champ de la sortie. - lancez
kill -9 [PID]
pour tuer ce processus.
Utilisez la commande suivante pour arrêter le bloc-notes Jupyter en cours d'exécution sur le port 8888:
fuser -k 8888/tcp
La section 3.3 devrait s'appliquer à cette . http://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/execute.html
Lorsqu'un ordinateur portable est ouvert, son «moteur de calcul» (appelé le noyau) est automatiquement démarré. Fermer l'onglet du navigateur du notebook ne ferme pas le noyau, mais le noyau continuera à fonctionner jusqu'à ce qu'il soit explicitement arrêté.
Pour arrêter un noyau, accédez au cahier associé et cliquez sur le menu Fichier -> Fermer et arrêter. Le tableau de bord du bloc-notes contient également un onglet appelé En cours d’exécution qui affiche tous les blocs-notes en cours d’exécution (c’est-à-dire les noyaux) et permet de les arrêter (en cliquant sur le bouton Arrêter).