Hintergrundjobs zwischen Shells teilen

Hintergrundjobs zwischen Shells teilen

ich benutzeBildschirmmit vielen (mehr als 10) lokalen Bash-Sitzungen darin. Ich schicke einige Prozesse (wie vi file) in den Hintergrund und wechsle sehr oft zwischen Sitzungen und manchmal ist es sehr ärgerlich, herauszufinden, wo die Datei, die ich bearbeiten muss, bereits geöffnet ist.

Gibt es eine Möglichkeit, solche Hintergrundprozesse freizugeben, um von jeder Bash-Sitzung auf diesem Bildschirm darauf zugreifen zu können?

Antwort1

Nein, die Dokumentation fürBash-Jobsteuerungerwähnt keine Unterstützung für das Teilen oder Übernehmen von Jobs zwischen verschiedenen Bash-Sitzungen.

Jedoch,reptyrermöglicht Ihnen, die Kontrolle über einen Job zu übernehmen, der in einer anderen Sitzung im Hintergrund ausgeführt wurde und der Ihren Wünschen möglicherweise nahe genug kommt.

reptyr benötigt die PID des Jobs, den Sie übernehmen möchten, Sie müssen diese PID also zuerst finden. Ob das mehr Arbeit bedeutet, als einfach das ursprüngliche Bildschirmfenster zu finden, können Sie selbst entscheiden.

Es klingt, als ob Sie dies hauptsächlich mit vim tun möchten (ja, Sie sagten vi, aber ich nehme an, dass Sie im Hintergrund vim ausführen). vim -rgibt Ihnen eine Liste aller offenen Vim-Sitzungen sowie der Dateien, die sie bearbeiten. Lesen Sie die Liste, suchen Sie die PID, die die gewünschte Datei verwendet, und führen Sie aus reptyr <pid>.

Um genau zu sein: Vim hindert Sie nicht daran, eine Datei einfach zu bearbeiten, die bereits woanders geöffnet ist (mit). vim -r <filename>Denken Sie jedoch daran, die Datei erneut mit zu laden, :ewenn Sie zur ursprünglichen Sitzung zurückkehren, damit Ihre neuen Änderungen auf die neueste Version angewendet werden. Vim erinnert Sie bei bestimmten Ereignissen daran.

Antwort2

Ich vermute, die Lösung Ihres Problems liegt woanders: Sie sollten ein Skript schreiben, das alle Ihre Hintergrundprozesse und die jeweiligen screenFenster anzeigt.

Wenn dies eine Option für Sie ist, würde ich etwas Code vorschlagen.

verwandte Informationen