Linux
為程序間通信創建終端設備
我想知道如何創建一個終端設備來模擬一個通過串口連接的硬體。基本上,具有一定波特率的 tty 設備可以在兩個程序之間讀取和寫入。據我了解,我正在尋找一個偽終端,並且
makedev
顯然可以製造一個。我還找到了以下一組說明:
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
有沒有更好的方法來製作偽終端,或者這幾乎是在 shell 中製作偽終端的標準方法?
這可能就是創建 pty 設備文件的方式,但您不想在需要 pty 時這樣做。任何給定的機器通常都有一個已創建的 pty 設備文件的補充。
偽 TTY 是相當特定於作業系統的,你沒有提到你想要做什麼。對於現代 linux,我會看一下
openpty(3)
. 您可以在 OpenSSH 原始碼sshpty.c中找到工作範常式式碼。您可能必須找到呼叫pty_allocate()
才能完全理解的程式碼。