web-dev-qa-db-fra.com

Pourquoi phpstorm se ferme quand je ferme le terminal

Avec un peu de chance, ce n'est pas la question la plus stupide au monde et avec un peu de chance, concerne l'échange de piles Ubuntu.

Mais quand je lance php storm avec la commande ~/Downloads/PhpStorm-181.4203.565/bin$ ./phpstorm.sh, Je dois m'assurer d'avoir le terminal ouvert tout le temps pour utiliser PHPStorm.

Lorsque je ferme le terminal, phpstorm s'arrête, cela ne servait pas à cela, mais maintenant je dois garder une fenêtre de terminal ouverte en permanence juste pour exécuter phpstorm.

Pourquoi dois-je faire ça?

Merci d'avance.

1
Supplement

La façon dont les processus sont exécutés est que la fenêtre du terminal que vous ouvrez s'exécute dans le shell généré par celui-ci. Chaque fois que vous mettez à jour PHPStorm, à moins que vous n'utilisiez des méthodes d'installation personnalisées (ou la version Snap de PHPStorm), vous devez "refaire" le lanceur d'applications. Parce que cela ne se fait pas automatiquement, vous devez exécuter le script à la main jusqu'à ce que vous utilisiez les fonctions intégrées pour créer des lanceurs d'applications (voir la deuxième section de ma réponse).

Étant donné que vous exécutez le script sur la ligne de commande, il existe une arborescence d'exécution parent/enfant qui s'y rapporte, le "parent" de la chaîne étant la session de terminal. En raison de la façon dont le système gère les arborescences d'exécution, si vous fermez le terminal (un processus parent), il essaiera également de fermer les processus enfants (à moins qu'il ne soit désavoué par le shell, ce qui n'est pas typique si vous exécutez le script directement en tant que tu as dit).

Par conséquent, votre arbre d'exécution ressemble à ceci:

[Desktop Manager]
 |_ gnome-terminal
    |_ /bin/bash
       |_ [the run script for PHPStorm]
          |_ [all child processes which actually run PHPStorm, which has its own
              execution tree as well for all its processes and threads]

Tuer ou fermer le terminal gnome parent tue le Shell qui y court, ce qui tue ou ferme les enfants de la chaîne en descendant jusqu'à la fin de l'arbre.


Vous devriez probablement utiliser la fonction intégrée "Créer un lanceur d'application" de PHPStorm, et vous devrez peut-être le faire à chaque fois que vous installez une version plus récente ou une mise à jour. Dans la plupart des IDE de JetBrain, vous pouvez installer le lanceur standard afin que vous n'ayez pas besoin d'utiliser le script de démarrage en utilisant leurs outils intégrés "Créer un lanceur".

Pour créer un lanceur, vous pouvez utiliser sur la ligne de commande, une fois que le IDE est ouvert, allez dans "Outils", puis cliquez sur "Créer un lanceur de ligne de commande".

Pour créer un lanceur pour l'interface graphique pour le menu des applications ou le tableau de bord/recherche Unity, allez dans "Outils" puis cliquez sur "Créer une entrée de bureau".

Avec l'entrée Desktop, vous n'aurez plus besoin d'ouvrir le terminal pour lancer PHPStorm

2
Thomas Ward