これをグーグルで約1時間過ごした後、私は信じられない これまで誰も実際にこの質問をしたことはありません…
つまり、TTY1で実行されているスクリプトがあります。そのスクリプトでTTY2で任意のプログラムを起動するにはどうすればよいですか?
-
tty
を見つけました 、現在使用しているTTYを示します。 -
writevt
を見つけました 、1行のテキストを別のTTYに書き込みます。 -
chvt
を見つけました 、現在表示されているTTYを変更します。
表示したくない TTY2。メインスクリプトを正常に実行し続けたいのですが、手動でTTY2に切り替えると、2番目のプログラムを操作できます。
承認された回答:
setsid sh -c 'exec command <> /dev/tty2 >&0 2>&1'
他のTTY(/dev/tty2
)を使用しているものが他にない限り この例では)、これは機能するはずです。これにはgetty
が含まれます 誰かがログインするのを待っている可能性のあるプロセス。 TTYからの入力を読み取る複数のプロセスを持つ 予期しない結果につながります。
setsid
新しいセッションでコマンドを開始します。
command
に注意してください stty
の設定に注意する必要があります 正しく設定します。例: 「調理済みモード」とonlcr
をオンにします 改行を出力すると、キャリッジリターンなどが追加されます。