GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Starten Sie einen Prozess auf einem anderen Tty?

Nachdem ich das etwa eine Stunde gegoogelt habe, kann ich nicht glauben diese Frage hat sich noch niemand gestellt…

Ich habe also ein Skript, das auf TTY1 ausgeführt wird. Wie bringe ich dieses Skript dazu, ein beliebiges Programm auf TTY2 zu starten?

  • Ich habe tty gefunden , das Ihnen mitteilt, auf welchem ​​TTY Sie sich gerade befinden.
  • Ich habe writevt gefunden , das eine einzelne Textzeile auf ein anderes TTY schreibt.
  • Ich habe chvt gefunden , wodurch sich ändert, welche TTY derzeit angezeigt wird.

Ich möchte nicht anzeigen TTY2. Ich möchte nur, dass das Hauptskript normal weiter ausgeführt wird, aber wenn ich manuell zu TTY2 wechsle, kann ich mit dem zweiten Programm interagieren.

Akzeptierte Antwort:

setsid sh -c 'exec command <> /dev/tty2 >&0 2>&1'

Solange nichts anderes das andere TTY (/dev/tty2 in diesem Beispiel) sollte dies funktionieren. Dazu gehört ein getty Prozess, der möglicherweise darauf wartet, dass sich jemand anmeldet; mehr als einen Prozess zu haben, der seine Eingabe von einem TTY wird liest zu unerwarteten Ergebnissen führen.

setsid sorgt dafür, dass der Befehl in einer neuen Sitzung gestartet wird.

Beachten Sie diesen command müssen sich um die Einstellung von stty kümmern Einstellungen richtig, z.B. schalten Sie den „Kochmodus“ und onlcr ein so dass bei der Ausgabe eines Zeilenumbruchs ein Wagenrücklauf usw. hinzugefügt wird.


Linux
  1. Wie kann man feststellen, welcher Prozess eine Datei erstellt?

  2. Wie identifiziere ich einen Prozess, der keine Pid hat?

  3. Prozessstartzeit mit Zeitzone?

  4. Whereis gibt einen anderen Pfad zu welchem ​​zurück?

  5. So bestimmen Sie, welcher Prozess in Linux auf die Festplatte schreibt

Der postgresql-Dienst kann unter CentOS 7 nicht gestartet werden

Welcher Prozess frisst ptys in meinem Linux-Server?

Finden Sie heraus, welcher Prozess eine Datei ändert

Wie kann ein Prozess in der ps-Ausgabe einen anderen Namen haben?

Wie sortiere ich die ps-Ausgabe nach der Startzeit des Prozesses?

Linux - Wie sehe ich, wann ein Prozess gestartet wurde?