Criando um dispositivo terminal para comunicação interprocessual

3

Gostaria de saber como criar um dispositivo de terminal para simular uma peça de hardware conectada por meio de uma porta serial. Basicamente, o dispositivo tty com uma determinada taxa de transmissão que pode ser lida e gravada entre dois processos. Pelo que entendi, um psuedo-terminal é o que eu estou procurando, e o makedev pode aparentemente fazer um.

Também encontrei o seguinte conjunto de instruções:

su to root
cd /dev
mkdir pty
mknod pty/m0 c 2 0
mknod pty/s0 c 3 0
ln -s pty/m0 ttyp0
ln -s pty/s0 ptyp0
chmod a+w pty/m0 pty/s0

Existe uma maneira melhor de fazer pseudo-terminal, ou isso é praticamente o jeito padrão de fazer um no shell?

    
por sj755 30.05.2013 / 18:20

1 resposta

3

Provavelmente, como arquivos de dispositivos pty são criados, mas você não quer fazer isso sempre que quiser. Qualquer máquina dada geralmente tem um complemento de arquivos de dispositivos pty já criados.

Os Pseudo TTYs são bastante específicos do SO e você não menciona o que deseja fazer. Para um linux moderno, eu daria uma olhada em openpty(3) . Você pode encontrar código de exemplo de trabalho no código-fonte OpenSSH, sshpty.c . Você provavelmente terá que encontrar um código que chame pty_allocate() para entender completamente.

    
por 30.05.2013 / 19:18