dev_open linux,linux 伪终端设备 /dev/ptmx
偽終端(pseudoterminal): ptmx, pts (偽終端master和偽終端slave).
/dev/ptmx用于創(chuàng)建偽終端主從設(shè)備對(duì).當(dāng)我們用open打開/dev/ptmx設(shè)備后, 返回主設(shè)備的文件描述符,
并且在/dev/pts/目錄下創(chuàng)建一個(gè)偽終端從設(shè)備.
在成功打開/dev/ptmx后, 可以通過函數(shù)ptsname()來獲取從設(shè)備的path.
想要打開open偽終端從設(shè)備,必須先使用主設(shè)備的文件描述符調(diào)用grantpt(), unlockpt().
當(dāng)主設(shè)備和從設(shè)備都打開后, 在主設(shè)備寫入的數(shù)據(jù)可以在從設(shè)備上讀取, 在從設(shè)備上寫入的數(shù)據(jù)可以在主設(shè)備讀取.
Data written to the slave is presented on the master descriptor as input.? Data written to the master is presented to the slave as input.
偽終端應(yīng)用:
當(dāng)需要調(diào)用調(diào)用exece等函數(shù)執(zhí)行系統(tǒng)命令時(shí),
通過fork函數(shù)創(chuàng)建子進(jìn)程, 在子進(jìn)程中調(diào)用exece執(zhí)行系統(tǒng)命令, 并且把子進(jìn)程的stdout和stderr通過dup2重定向
到偽終端的從設(shè)備;而在父進(jìn)程中通過讀取偽終端的主設(shè)備來獲取子進(jìn)程支持系統(tǒng)命令的輸出信息.
詳細(xì)處理,請(qǐng)看android 中的函數(shù)android_fork_execvp_ext()
閱讀(4434) | 評(píng)論(0) | 轉(zhuǎn)發(fā)(0) |
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的dev_open linux,linux 伪终端设备 /dev/ptmx的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言10个数如何求最大值,C语言,输入
- 下一篇: python二级考试真题_全国BIM技能