Starten Sie einige Programme in einem Split-Terminal

484
fortran

Ich möchte einige Programme mit einem einzigen Startskript starten und deren Ausgaben auf der Konsole überwachen.

Der einfachste Weg wäre, im Hintergrund ein Xterm für jedes Programm zu starten, aber das ist nicht sehr ordentlich (ich mag es nicht, zu viele Fenster zu haben).

Die andere Alternative, an die ich gedacht habe, ist, ihre Ausgaben in Protokolldateien umzuleiten und sie dann multitailin einem einzigen Terminal zu beobachten. Wenn ich sie jedoch töten möchte, muss ich mir ihre PIDs ansehen und dann einen killBefehl ausgeben anstatt nur zu ihrem Terminal zu gehen und zu drücken Ctrl+C. Dies würde auch nicht gut funktionieren, wenn ein Teil des Programms Flüche oder ähnliches verwendet.

Meine ideale Option wäre so etwas wie screendas Multiplexen eines Terminals (oder das Anzeigen aller davon auf eine geteilte Art und Weise), aber ich kann keine Option in den damit verknüpften Handbuchseiten finden, und das Googeln screenwird so wie es ist, kein nützliches Ergebnis ein sehr allgemeiner Begriff.

Also, irgendwelche Vorschläge, wie man etwas erreichen kann, was ich will?

1

2 Antworten auf die Frage

1
pgras

Kein Vorschlag für Ihr spezielles Problem, aber Sie haben auch überlegt, dass tmux einfacher zu konfigurieren ist. In diesem und in diesem Blog-Post finden Sie weitere Informationen und einige Vorteile gegenüber dem Bildschirm.

0
simonb

Sie können dies mit dem Bildschirm tun, indem Sie eine benutzerdefinierte Bildschirmkonfigurationsdatei laden. Hier ein Beispiel zum Starten und Überwachen von vier Programmen in einem Split-Terminal. Erstellen Sie eine Datei, launch_filein der Folgendes enthalten ist:

split split split screen program1 focus down screen program2 focus down screen program3 focus down screen program4 

Dabei sind Programm1, Programm2 ... die vier Programme, die Sie ausführen möchten. Nun, in einem (großen) xterm oder ähnlichem eingeben screen -c launch_file. Sie sollten eine geteilte Vierfachansicht sehen, in der jeweils eines der Programme ausgeführt wird. Mit können Sie Ctrl+a tabdurch die vier Fenster blättern und Ctrl+ceines der Programme stoppen.