GNU/Linux >> Belajar Linux >  >> Linux

Memulai Proses Pada Tty yang Berbeda?

Setelah sekitar satu jam Googling ini, saya tidak bisa percaya tidak ada yang pernah menanyakan pertanyaan ini sebelumnya…

Jadi saya menjalankan skrip di TTY1. Bagaimana cara membuat skrip itu meluncurkan beberapa program arbitrer di TTY2?

  • Saya menemukan tty , yang memberi tahu Anda TTY mana yang sedang Anda gunakan.
  • Saya menemukan writevt , yang menulis satu baris teks ke TTY yang berbeda.
  • Saya menemukan chvt , yang mengubah TTY yang saat ini ditampilkan.

Saya tidak ingin menampilkan TTY2. Saya hanya ingin skrip utama terus berjalan secara normal, tetapi jika saya beralih ke TTY2 secara manual, saya dapat berinteraksi dengan program kedua.

Jawaban yang Diterima:

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

Selama tidak ada yang menggunakan TTY lain (/dev/tty2 dalam contoh ini), ini seharusnya berhasil. Ini termasuk getty proses yang mungkin menunggu seseorang untuk login; memiliki lebih dari satu proses membaca inputnya dari TTY akan menyebabkan hasil yang tidak terduga.

setsid menangani memulai perintah di sesi baru.

Perhatikan bahwa command harus mengurus pengaturan stty pengaturan dengan benar, mis. aktifkan "mode matang" dan onlcr sehingga mengeluarkan baris baru akan menambahkan carriage return, dll.


Linux
  1. Bagaimana Cara Menentukan Proses Yang Membuat File??

  2. Proses Yang Memiliki Pid 0?

  3. Bagaimana Mengidentifikasi Proses Yang Tidak Memiliki Pid?

  1. Bagaimana Cara Mendapatkan Tty Di Bash Yang Sedang Berjalan?

  2. Proses Waktu Mulai Dengan Zona Waktu?

  3. Dimana Mengembalikan Jalur Berbeda Ke Mana?

  1. Apa itu proses yang tidak terputus?

  2. Java ProcessBuilder:Proses yang Dihasilkan Hang

  3. Bagaimana cara memulai proses dalam grup prosesnya sendiri?