Vraag Waarom sluit phpstorm als ik de terminal sluit?


Hopelijk niet de domste vraag ter wereld en hopelijk tot ubuntu stack exchange.

Maar als ik php storm uitvoer met het commando ~/Downloads/PhpStorm-181.4203.565/bin$ ./phpstorm.sh, Ik moet ervoor zorgen dat de terminal de hele tijd open is om PHPStorm te gebruiken.

Toen ik de terminal sluit, wordt de phpstorm afgesloten, maar daarvoor hoefde ik het terminalvenster niet constant open te houden alleen maar om phpstorm uit te voeren.

Waarom moet ik dit doen?

Bij voorbaat bedankt.


1
2018-05-04 16:23


oorsprong


U hoeft dat commando `. / Phpstorm.sh` slechts eenmaal uit te voeren om het te installeren, dan zou het beschikbaar moeten zijn in uw lijst" Toepassingen ", u kunt het uitvoeren door op het pictogram ervan te klikken. - singrium
@singrium Dat doet niet de installatie van het app-opstartprogramma, dat is een afzonderlijke handmatige stap die u moet uitvoeren binnen de IDE (gedetailleerd in mijn antwoord) - Thomas Ward♦
In het geval van PhpStorm zijn er betere manieren, maar './phpstorm.sh &' zal in dit geval ook helpen. - Stephan Vierkant


antwoorden:


De manier waarop processen worden uitgevoerd, is dat het Terminal-venster dat u opent, wordt uitgevoerd binnen de shell die hierdoor wordt voortgebracht. Telkens wanneer u PHPStorm bijwerkt, tenzij u aangepaste installatiemethoden (of de Snap-versie van PHPStorm) gebruikt, moet u het startprogramma van de toepassing opnieuw uitvoeren. Omdat dat niet automatisch wordt gedaan, moet u het script handmatig uitvoeren totdat u de ingebouwde functies gebruikt om toepassingen te starten (zie het tweede deel van mijn antwoord).

Omdat u het script op de opdrachtregel uitvoert, is er een bovenliggende / onderliggende uitvoeringsstructuur die er betrekking op heeft, waarbij de 'ouder' van de keten de terminalsessie is. Vanwege de manier waarop het systeem uitvoeringsstructuren afhandelt, zal het, als u de terminal sluit (een bovenliggend proces), ook de onderliggende processen proberen te sluiten (tenzij verstoten door de shell, wat niet typisch is als u het script rechtstreeks uitvoert als jij zei).

Daarom ziet uw uitvoeringsboom er als volgt uit:

[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]

Het doden of sluiten van de ouder-kabouter-terminal doodt de schaal die erin loopt, die dan de kinderen in de ketting doodt of sluit die helemaal naar beneden gaan totdat het einde van de boom bereikt is.


U zou waarschijnlijk PHPStorm's ingebouwde "Create Application Launcher" -functie moeten gebruiken, en u zou dit waarschijnlijk elke keer moeten doen als u een nieuwere versie of update installeert. In de meeste IDE's van JetBrain kunt u het standaard opstartprogramma installeren, zodat u het startscript niet hoeft te gebruiken met de ingebouwde hulpprogramma's voor het maken van opstartprogramma's.

Als u een opstartprogramma wilt maken, kunt u dit gebruiken op de opdrachtregel. Ga naar "Extra" nadat de IDE is geopend en klik vervolgens op "Opdrachtregelinitiatie maken".

Als u een opstartprogramma voor de grafische gebruikersinterface voor het toepassingsmenu of het Unity-streepje / zoeken wilt maken, gaat u naar "Extra" en klikt u vervolgens op "Bureaubladinvoer maken".

Met de Desktop-invoer hoeft u de terminal niet meer te openen om PHPStorm te starten


2
2018-05-04 16:29



Bedankt @Thomas Ward, dat was supereenvoudig. Ik waardeer het echt man. - Supplement