Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>ZSH: Zweite Session aus shell starten

ZSH: Zweite Session aus shell starten

michimaier07.02.2021:49
Hallo miteinander,
ich bastel hier gerade etwas zusammen - tatsächlich nicht besonders bewandert, deswegen fehlt mir der richtige Suchbegriff - hoffe aber hier kann mir jemand helfen.
Kurz gesagt: Ich will via shell ein Kommando in einer zweiten Shell öffnen.

Lang gesagt: Ich erstelle hier gerade aliase und ich muss dazu einen Server starten und in einer zweiten Shell einen weiteren Service starten. Jetzt möchte ich ein alias, das mir zwei shell session öffnet, jeweils in den Ordner wechselt, den server startet und eben simultan in den Ordner wechselt und einen Service startet...

Ich weiss dass die Begrifflichkeit hier u.U. falsch sind, wie gesagt bin nicht besonders bewandert und versuche gerade meine ersten Schritte - vielen Dank für die Unterstützung!

vermutlich irgendwie so
alias go=' Öffne Erste Shell && Starte Server && Öffne Zweite Shell & Starte Service'
0

Kommentare

AidanTale08.02.2007:04
Könntest du nicht einfach den Server in den Hintergrund schieben und dann weiter machen?
0
Bodo_von_Greif08.02.2008:32
Um welche services handelt es sich?

Gruss,

Bodo
„[x] nail here for new monitor“
0
hidalgo08.02.2009:34
Du kannst doch die beiden Befehle hintereinander ausführen, also mittels && aneinanderreihen.

Eine weitere Möglichkeit ist screen (gibt es auch unter macOS)
„«Probleme kann man nie mit derselben Denkweise lösen, durch die sie entstanden sind.» Albert Einstein“
0
AidanTale08.02.2010:18
@hildago das funktioniert nur wenn sich der Severprozess selbst in den Hintergrund schiebt, also als Dämon läuft, und den Prompt zurück gibt.

Darum hinter Server ein & um den in den Hintergrund zu verschieben und dann weiter machen. Den Service kann man vermutlich auch in den Hintergrund schieben (so er denn permanent laufen soll), dann kommt der Prompt am Ende vom Aufruf zurück und man kann die Shell interaktiv nutzen. Also so:
cd dir1 && {server&} && cd dir2 && {service&}

Ein Skript wäre hier aber besser, das kann beim Beenden gleich die Hintergrundprozesse aufräumen. Ansonsten mußt du die wenn sie nicht mehr laufen sollen manuell stoppen (fg ctrl+c und fg ctrl+c) oder die Shell beenden.
+1
michimaier08.02.2011:01
Schonmal vielen Dank an alle!

@hidalgo: 'screen' schau ich mir mal an...
@AidanTale:
Tatsächlich geht es darum:
Laravel:

1) php artisan serve
2) npm run watch

vermutlich weiss jetzt jeder um was es geht
Ich krieg das nicht als Hintergrundprozess hin (via Alias!) und hätte das tatsächlich gerne in zwei separaten Shells...
Hab mir jetzt eine Fenstergruppe in Terminal gemacht - die startet er auch in den richtigen Verzeichnissen,
aber dass die dann irgendwas starten geht nicht... also ich müsste die beiden Commands manuell eingeben.

Hab gestern noch lange gesucht, irgendwie gibts das wohl öfter aber wirklich eine Lösung hab ich nicht gefunden...
0
michimaier08.02.2012:06
Habs jetzt via AppleSkript gelöst...
Passt sich, eigentlich...
Danke euch trotzdem!
0
AidanTale08.02.2012:10
Wenn du die Terminalfenster haben möchtest, mach das doch ganz einfach:

In $HOME eine .zshrc anlegen und dort je nach aktuellem Loginverzeichnis das entsprechende Kommando ausführen:

[[ "$(pwd)" = *Verzeichnisname1* ]] && php artisan serve
[[ "$(pwd)" = *Verzeichnisname2* ]] && npm run watch

Das sollte dann beim Login dazu führen dass wenn man in entsprechenden Verzeichnissen startet die Programme ausgeführt werden. Möchte man den Prompt haben muss noch ein & hinter die Programme.
+1
michimaier08.02.2013:07
Probier ich auf jeden Fall aus - das sieht gut aus - danke dir sehr!
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.