/dev/tty
adalah tty mengendalikan proses saat ini , untuk setiap proses yang benar-benar membuka file khusus ini. Ini belum tentu merupakan perangkat konsol virtual ( /dev/tty
n ), dan dapat berupapty, port serial, dll. Jika tty yang mengendalikan bukan konsol virtual, maka prosesnya belum berinteraksi dengan perangkat konsol bahkan jika pseudottynya benar-benar diterapkan pada konsol sistem. E. g. untuk sebuah shell di emulator terminal di bawah server X yang berjalan secara lokal, program-program tersebut membentuk rantai interaksi seperti:
Unix shell
⇕ /dev/pts/2
(≡ /dev/tty
untuk prosesnya)
driver pty kernel
⇕ /dev/ptmx
terminal emulator
⇕ protokol
X Window X server
⇕ /dev/tty7
(≡ /dev/tty
untuk server)
konsol sistem
zxc↿⇂ [_̈░░]
pengguna
Penggunaan /dev/tty
program oleh userland meliputi:
- Tulis sesuatu ke terminal pengendali, abaikan semua pengalihan dan pipa;
- Buat ioctl () - lihat tty_ioctl (4);
- Misalnya, lepaskan dari terminal (TIOCNOTTY).
/dev/tty0
adalah konsol virtual aktif dari sistem operasi . File khusus ini tidak mungkin digunakan secara signifikan oleh perangkat lunak sistem, tetapi /dev/console
sebenarnya merupakan "alias" untuktty0
dan /dev/console
telah banyak digunakan oleh daemon syslog dan, kadang-kadang, oleh kernel itu sendiri.
Eksperimen untuk menunjukkan perbedaan: jalankan root
shell pada tty3
( Ctrl+ Alt+ F3) atau di emulator terminal. Sekarang
# sleep 2; echo test >/dev/tty
lalu dengan cepat Ctrl+ Alt+ F2, tunggu dua detik, dan Ctrl+ Alt+ apa pun kembali. Di mana Anda melihat hasilnya?
Dan sekarang tes yang sama untuk /dev/tty0
.