- 論壇徽章:
- 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;
- }
復(fù)制代碼 現(xiàn)在的問題是:使用openpty得到偽終端的主從文件描述符,向從設(shè)備符寫入數(shù)據(jù),可以從主設(shè)備符中讀出來,但是反之卻不行,阻塞在讀從設(shè)備描述符,這是什么原因呢? 困擾了好久,希望能夠得到大家的幫助!! |
|