Alb*_*ert 5 linux console ioctl tty
还是某个进程或某些其他事物可能完全阻塞虚拟终端?还是尝试访问VT1时应用程序挂起的原因可能是什么?
似乎在发生这种情况的同时,它仍挂在函数中ioctl。特别是,这是失败的代码:
int vtno = 1;
const char* vtname = "/dev/tty1";
int fd = open(vtname, O_RDWR|O_NDELAY, 0);
if (ioctl(fd, VT_ACTIVATE, vtno) < 0)
  printf("VT_ACTIVATE failed: %s\n", strerror(errno));
if (ioctl(fd, VT_WAITACTIVE, vtno) < 0)
  printf("VT_WAITACTIVE failed: %s\n", strerror(errno));
它挂在第二个ioctl。当我中断它时,我收到以下消息:
VT_WAITACTIVE failed: Interrupted system call
另外,当它在那里等待时,如果我chvt 1从另一个终端进行操作,那也会挂起。
| 归档时间: | 
 | 
| 查看次数: | 1884 次 | 
| 最近记录: |