Devpts 檔案系統

現在,devpts 檔案系統的每個掛載都是不同的,在一個掛載中分配的 pty 及其索引與其他所有掛載中的 pty 及其索引無關。

現在,devpts 檔案系統的所有掛載都會建立一個許可權為 0000/dev/pts/ptmx 節點。

為了保持向後相容性,ptmx 裝置節點(也稱為使用 mknod name c 5 2 建立的任何節點)在開啟時,將在與 ptmx 裝置節點相同的目錄中查詢名為 pts 的 devpts 例項。

作為一種選擇,可以不將 /dev/ptmx 裝置節點放在 /dev/ptmx,而是可以將符號連結指向 /dev/pts/ptmx 放在 /dev/ptmx,或者將 /dev/ptx/ptmx 繫結掛載到 /dev/ptmx。 如果您選擇以這種方式使用 devpts 檔案系統,則應使用 ptmxmode=0666 掛載 devpts,或者應該呼叫 chmod 0666 /dev/pts/ptmx

所有例項中 pty 對的總數受 sysctl 限制

kernel.pty.max = 4096       - global limit
kernel.pty.reserve = 1024   - reserved for filesystems mounted from the initial mount namespace
kernel.pty.nr               - current count of ptys

可以透過添加掛載選項 max=<count> 來設定每個例項的限制。

此功能是在核心 3.4 中新增的,同時添加了 sysctl kernel.pty.reserve

在低於 3.4 的核心中,sysctl kernel.pty.max 用作每個例項的限制。