gpt4 book ai didi

从主端更改伪 tty 回显模式

转载 作者:太空狗 更新时间:2023-10-29 12:38:47 25 4
gpt4 key购买 nike

在 linux 上,我在 master 端打开一个伪 tty。虽然从端没有客户端,但伪 tty 似乎在回显我写给他的所有内容,这不是我所期望的。考虑以下代码:

int  main(int argc, char * argv[])
{
int ptyfd;
int rc; /* return code */
char readbuf[3];
ptyfd = open("/dev/ptmx", O_RDWR | O_NOCTTY);
die_on_error(ptyfd, "open ptmx");

/* unlock and print slave name */
rc = unlockpt(ptyfd);
die_on_error(rc, "unlockpt");
printf("Slave pts name : %s\n", ptsname(ptyfd));

write(ptyfd, "C", 1);
rc=read(ptyfd, readbuf, 1);
die_on_error(rc, "read");
printf("read returned %c\n",readbuf[0]);
return 0;
}

当我运行这个程序时,我希望 read 调用会阻塞,但它会立即返回并且 readbuf 内容是 C。我怎样才能改变这种行为?当从端未打开时,我希望写在主端的字符消失或被 fifoed 供从端读取。

更改主端属性是否正确?

最佳答案

我以为主端不是 tty,但显然是,所以你可以调用 tcgettattrtcsetattr 之类的东西,并抑制回声。

关于从主端更改伪 tty 回显模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/482818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com