Man page - pty(7)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr pl ja ru roManual
pty
NOMDESCRIPTION
Pseudoterminaux UNIXÂ 98
Pseudoterminaux BSD
FICHIERS
NOTES
VOIR AUSSI
TRADUCTION
NOM
pty â Interfaces de pseudoterminaux
DESCRIPTION
Un pseudoterminal (parfois abrĂ©gĂ© en « pty ») est une paire de pĂ©riphĂ©riques virtuels en mode texte qui fournissent un canal de communication bidirectionnel. Un bout du canal est appelĂ© le maĂźtre , lâautre bout est appelĂ© lâ esclave .
LâextrĂ©mitĂ© esclave du pseudoterminal fournit une interface qui se comporte exactement comme un terminal classique. Un processus qui sâattend Ă ĂȘtre connectĂ© Ă un terminal peut ouvrir lâextrĂ©mitĂ© esclave dâun pseudoterminal et ĂȘtre pilotĂ© par un programme qui a ouvert lâextrĂ©mitĂ© maĂźtre. Tout ce qui est saisi sur le maĂźtre est fourni au processus sur lâesclave comme si câĂ©tait une entrĂ©e saisie sur un terminal. Par exemple, saisir le caractĂšre dâinterruption (en gĂ©nĂ©ral ContrĂŽle-C) sur le pĂ©riphĂ©rique maĂźtre cause lâenvoi dâun signal dâinterruption ( SIGINT ) au groupe de processus en avant-plan qui est connectĂ© Ă lâesclave. RĂ©ciproquement, tout ce qui est saisi sur lâesclave peut ĂȘtre lu par le processus qui est connectĂ© au pĂ©riphĂ©rique maĂźtre.
Le flux de donnĂ©es entre le maĂźtre et lâesclave est gĂ©rĂ© de maniĂšre asynchrone, Ă peu prĂšs comme le flux de donnĂ©es dâun terminal physique. Les donnĂ©es saisies sur lâesclave seront disponibles rapidement sur le maĂźtre, mais pourront ne pas lâĂȘtre immĂ©diatement. De la mĂȘme façon, un petit dĂ©lai de traitement entre une saisie sur le maĂźtre et lâapparition de lâeffet sur lâesclave pourra exister.
Historiquement, deux API de pseudoterminaux ont Ă©volué : BSD et System V. SUS version 1 a normalisĂ© une API de pseudoterminal basĂ©e sur lâinterface de System V et cette API doit ĂȘtre utilisĂ©e dans tous les nouveaux programmes qui utilisent des pseudoterminaux.
Linux fournit à la fois des pseudoterminaux de type BSD et de type System V (normalisés). Les terminaux de type System V sont souvent appelés pseudoterminaux UNIX 98 sur les systÚmes Linux.
Depuis Linux 2.6.4, les pseudoterminaux de type BSD sont considĂ©rĂ©s obsolĂštes : leur prise en charge peut ĂȘtre dĂ©sactivĂ©e lors de la construction du noyau en dĂ©sactivant lâoption CONFIG_LEGACY_PTYS . Depuis Linux 2.6.30, cette option est dĂ©sactivĂ©e par dĂ©faut dans le noyau standard. Les pseudoterminaux UNIX 98 doivent ĂȘtre utilisĂ©s dans les nouvelles applications.
Pseudoterminaux UNIXÂ 98
Un maĂźtre de pseudoterminal UNIX 98 est ouvert en appelant posix_openpt (3) (Cette fonction ouvre le pĂ©riphĂ©rique clone de maĂźtre, /dev/ptmx ; consultez pts (4)). AprĂšs avoir rĂ©alisĂ© nâimporte quelle initialisation spĂ©cifique Ă un programme, changĂ© le propriĂ©taire et les permissions du pĂ©riphĂ©rique esclave avec grantpt (3) et dĂ©verrouillĂ© lâesclave avec unlockpt (3), le pĂ©riphĂ©rique esclave correspondant peut ĂȘtre ouvert en passant le nom renvoyĂ© par ptsname (3) dans un appel Ă open (2).
Le noyau Linux impose une limite au nombre de pseudoterminaux UNIX 98 disponibles. JusquâĂ Linux 2.6.3 inclus, cette limite est configurĂ©e Ă la compilation du noyau ( CONFIG_UNIX98_PTYS ), et le nombre de pseudoterminaux autorisĂ© peut atteindre 2048, avec une valeur par dĂ©faut de 256. Depuis Linux 2.6.4, la limite est ajustable de façon dynamique par le fichier /proc/sys/kernel/pty/max , et un autre fichier relatif, /proc/sys/kernel/pty/nr , indique combien de pseudoterminaux sont actuellement utilisĂ©s. Pour plus de dĂ©tails sur ces deux fichiers, consultez proc (5).
Pseudoterminaux BSD
Les pseudoterminaux de type BSD sont fournis comme des paires prĂ©créées, avec des noms de la forme /dev/ptyXY (maĂźtre) et /dev/ttyXY (esclave), oĂč X est une lettre de lâensemble de 16 caractĂšres [p-za-e], et Y est une lettre de lâensemble de 16 caractĂšres [0-9a-f] (Les intervalles prĂ©cis de lettre dans ces ensembles varient entre les diffĂ©rentes versions dâUNIX). Par exemple, /dev/ptyp1 et /dev/ttyp1 constituent une paire de pseudoterminaux BSD. Un processus trouve une paire de pseudoterminaux inutilisĂ©e en essayant dâouvrir chaque maĂźtre de pseudoterminal avec open (2) jusquâĂ ce quâune ouverture rĂ©ussisse. Lâesclave de pseudoterminal correspondant peut ensuite ĂȘtre ouvert (en remplaçant « pty » par « tty » dans le nom du maĂźtre).
FICHIERS
/dev/ptmx
Périphérique de clone de maßtre UNIX 98
/dev/pts/*
Périphériques esclaves UNIX 98
/dev/pty[p-za-e][0-9a-f]
Périphériques maßtre BSD
/dev/tty[p-za-e][0-9a-f]
Périphériques esclaves BSD
NOTES
Les pseudoterminaux sont utilisés par des applications comme les services de connexion réseau ( ssh (1), rlogin (1), telnet (1)), les émulateurs de terminal comme xterm (1), script (1), screen (1), tmux (1), unbuffer (1) et expect (1).
Une description de lâ ioctl (2) TIOCPKT , qui contrĂŽle lâopĂ©ration en mode paquet, se trouve dans ioctl_tty (2).
Les opérations ioctl (2) BSD TIOCSTOP , TIOCSTART , TIOCUCNTL et TIOCREMOTE ne sont pas implémentées sous Linux.
VOIR AUSSI
ioctl_tty (2), select (2), setsid (2), forkpty (3), openpty (3), termios (3), pts (4), tty (4)
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>
Cette traduction est une documentation libre ; veuillez vous reporter Ă la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il nây a aucune RESPONSABILITĂ LĂGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .