Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

How to signal shutdown by user code?

Ouverte
#1,151 7 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
20/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
jupyter, python
Domaine
backend

Piste de recherche

Commencez par ipykernel.kernelbase.Kernel et le point d’entrée do_execute décrit dans l’issue. Suivez la manière dont les exceptions d’exécution et l’arrêt du kernel sont actuellement gérés, puis consultez les tests ou la documentation existants sur le cycle de vie du kernel. Le travail est considéré comme terminé lorsqu’une méthode prise en charge pour gérer un interpréteur qui devient inutilisable a été identifiée et documentée, ou lorsqu’il a été confirmé qu’aucun chemin d’arrêt in-kernel n’est pris en charge.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

I'm implementing a kernel by inheriting from ipykernel.kernelbase.Kernel, as described at Making simple Python wrapper kernels.

My do_execute method passes code to an external interpreter implemented in a Python module, and it is possible that this code includes an instruction to shut down the interpreter, comparable to sys.exit(0) in Python. When that happens, the interpreter raises an exception.

Because after that code the interpreter is no longer usable, I want to catch that exception and in response initiate a kernel shutdown. Unfortunately, I wasn't able to figure out how to do so.

Is it possible to initiate a kernel shutdown from within the kernel? If yes, how?

If not, what is the recommended way to deal with code which shuts down the interpreter? Detecting that from the code might be impossible to do correctly. And even if I could do it, I would still have to initiate shutdown from within do_execute.

Langage dominant
Python
Étoiles
734
Forks
412
Merge moyen
1 j 9 h
PR mergées (30 j)
13

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ipython/ipykernel

Toutes les issues de ipython/ipykernel

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.