- 论坛徽章:
- 0
|
先贴上源代码,如下所示:- int main()
- {
- int retVal;
- int mpty, spty;
- ssize_t n;
- char sptyname[20] = {0};
- retVal = openpty(&mpty, &spty, sptyname, NULL, NULL);
- if(retVal != -1)
- {
- printf("mpty = %d spty = %d sptyname = %s\n", mpty, spty, sptyname);
-
- //test write to mpty and read from spty
- char temp[50] = "HelloWorld! I have write to mpty";
- char temp2[100] = {0};
- //n = write(mpty, "veblen", 7);
- n = write(spty, "hehehe", 7);
- if(n <= 0)
- {
- perror("write error");
- exit(-1);
- }
- sleep(3);
- printf("write %d charactors to pty success\n", n);
-
- //n = read(spty, temp2, 5);
- n = read(mpty, temp2, 5);
- if(n <= 0)
- {
- perror("read error");
- exit(-1);
- }
- printf("read success: %s\n", temp2);
- }
- else
- {
- perror("openpty error");
- exit(-1);
- }
- return 0;
- }
复制代码 现在的问题是:使用openpty得到伪终端的主从文件描述符,向从设备符写入数据,可以从主设备符中读出来,但是反之却不行,阻塞在读从设备描述符,这是什么原因呢? 困扰了好久,希望能够得到大家的帮助!!! |
|