GNU/Linux >> Linux の 問題 >  >> Linux

別のTtyでプロセスを開始しますか?

これをグーグルで約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をオンにします 改行を出力すると、キャリッジリターンなどが追加されます。


Linux
  1. ファイルを作成しているプロセスを特定する方法は??

  2. どのプロセスにPid0がありますか?

  3. Pidのないプロセスを特定する方法は?

  1. タイムゾーンで開始時間を処理しますか?

  2. どこに別のパスを返しますか?

  3. Java ProcessBuilder:結果のプロセスがハングする

  1. CentOS 7 で postgresql サービスを開始できません

  2. Linux サーバーで pty を食べているのはどのプロセスですか?

  3. 高CPU使用率を引き起こしているプロセスを見つける方法