Forum: PC-Programmierung wie benutzt man pseudoterminals?


von Bauform B. (bauformb)


Lesenswert?

schönen Freitag miteinander!

Programm1 redet normalerweise per /dev/ttyUSBx mit einer Hardware. Jetzt 
soll Programm2 diese Hardware simulieren. Prog1 kann einen symlink (z.B. 
"/tmp/hardware") für die Schnittstelle benutzen, dann sieht es sehr 
einfach aus:
1
pts = open("/dev/ptmx", O_RDONLY);
2
path = ptsname (pts);
3
grantpt (pts);
4
unlockpt (pts);
5
symlink (path, "/tmp/hardware");
so kann Prog1 sein normales open("/tmp/hardware") machen.

Jetzt muss man "nur noch" dafür sorgen, dass der Link entfernt wird, 
wenn Prog2 beendet wird. atexit() funktioniert dafür nur meistens. Ja, 
Prog1 könnte das pty in /proc/$(pidof Prog2)/fd/ suchen, aber wie macht 
man das normalerweise?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.