comment utiliser /dev/ptmx pour créer un port série virtuel?

J'ai un programme, à l'aide de pyserial, et je veux le tester sans l'aide d'un port série réel de l'appareil.

Dans windows, j'utilise com0com, et sous linux, je sais qu'il existe une méthode pour créer un port série virtuel paire sans l'aide de programme supplémentaire.

donc, je regarde le manuel, et trouvé pts, /dev/ptmx, mais je ne sais pas comment créer une paire en suivant le manuel, quelqu'un peut-il me donner un exemple?

J'ai essayé(en python):

f = open("/dev/ptmx", "r")

et il fonctionne, /dev/pts/4 est créé.

et j'ai essayé:

f = open("/dev/4", "w")

et le résultat est:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 5] Input/output error: '/dev/pts/4'

edit:
J'ai trouvé une solution(contourner), à l'aide de socat.

socat PTY,link=COM8 PTY,link=COM9

puis COM8 COM9 sont créés en tant que port série virtuel paire.

OriginalL'auteur linjunhalida | 2010-02-01