PowerShell / PowerShell/PowerShellEditorServices
Close stray process when stdio pipe is closed or possibly when parent process is killed (daemon flag?)
Personne n'a encore pris cette issue.
- Langage dominant
- C#
- Étoiles
- 767
- Forks
- 266
- Merge moyen
- 3 j 16 h
- PR mergées (30 j)
- 1
Description
This is continuation of the effort from:
- Issue https://github.com/PowerShell/PowerShellEditorServices/issues/655 PSES needs to shutdown itself when it's supposed to
- PR https://github.com/PowerShell/PowerShellEditorServices/pull/663 Close stray processes on exit
#655 was closed by @TylerLeonhardt as it was satisfied by PR #663. However I still believe we can easily get into the situation when LSP text editor that launches PSES gets killed and orphans the PSES process, that keeps running without a purpose. Actually this is the case with Sublime Text and LSP plugin, where other language LSP providers shutdown themselves when the Sublime Text quits without a need to use exit or any other means.
Therefore I propose 2 options for consideration (alternatives):
-
Introduce new
-daemonflag, that unless specified, makes PSES to shutdown itself when the parent process disappears. This will make PSES behave like most of the command line tools, i.e. shutdown itself when the shell or launching process quits.The only purpose for PSES to run despite of parent process being alive or not is when it is it intended to be ran as a daemon, and I believe this intent should not be default (as it is now).
-
Shutdown itself when running as
-stdioand when pipe is closed, as I was commenting in other ticket, there is no point running when pipe is closes, because there is nobody that will be able to issueexitand any other command anyways.
Thank you in advance for considering my suggestion. If you prefer I can try to get this behavior adapter myself and send the PR, but you (maintainers) may come to more elegant solution much quicker than me, therefore I post this issue first.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Examinez d’abord issue #655 et PR #663, puis suivez les points d’entrée de PSES pour le mode -stdio et le flag -daemon proposé. Déterminez quel comportement d’arrêt est prévu lorsque le processus parent disparaît ou que le tube stdio se ferme ; le travail est terminé lorsqu’il ne reste plus de processus PSES orphelins dans le scénario couvert, sans compromettre l’utilisation en tant que daemon.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- csharp
- Domaine
- devtools
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 30/100