Wie kann ich einen Befehl in einem bestimmten Terminalfenster ausführen, das bereits geöffnet ist, mit Python?Einen Befehl in einem bestimmten Terminalfenster ausführen - python
Ich kann einen Befehl in einem neuen Terminal mit Python ausführen, aber ich möchte das vorhandene Terminal wiederverwenden. Und es gibt mehrere Terminals geöffnet. Der Befehl sollte in einem bestimmten Terminal ausgeführt werden.
ZB:
- begann ich Prozess A in Klemme1.
- Ich töte den Prozess A. (Jetzt Terminal1 ist im Leerlauf)
- Ich möchte den Prozess A neu starten und zeigen Sie die Protokollierung/Ausgabe von Prozess A in Terminal1.
Ich benutze Ubuntu.
Gründe, dies zu tun:
- Um die Protokolle der spezifischen Befehle im selben Terminal zu halten.
- Trennen der Protokolle mehrerer Anwendungen zu verschiedenen Terminals.
- pflegt die Protokolle von spezifischen Anwendungen in entsprechenden Anschlüssen
(Anwendungen getötet und automatisch gestartet mehrmals)
Python-die-Sprache weiß nichts über Terminals; Es hat keine Konstrukte, die hier helfen können. Es gibt ** UNIX ** -Konstrukte, die helfen können, aber sie hängen davon ab, ob Sie entweder bestimmte Software im Terminal ausführen oder auf andere Weise eingreifen (zB indem Sie die PTY-Nummer nachschlagen). Und ehrlich gesagt, keine dieser Techniken ist spezifisch für Python - wir hätten die exakt gleichen Fragen, die wir zuerst beantwortet hätten, wenn Sie sich fragen, wie Sie das in einem Shell-Skript oder von C aus tun. –
Beginnen wir mit einem kleinen Backup: Wie soll Ihre Software das spezifische Terminal identifizieren, an das die Ausgabe gehen soll? (Und warum läuft diese Software nicht * direkt auf dem fraglichen Terminal *?) –
... wenn die Antwort lautet, dass die Software im Hintergrund ausgeführt werden soll, auch wenn Ihr Terminal nicht funktioniert Offen, dann sollten Sie wahrscheinlich seine Ausgabe in eine Datei schreiben, und ein Programm, das in diesem Terminal ausgeführt wird, ist verantwortlich für das Spoolen der Ausgabe von dieser Datei. –