为什么 crtl-C 或 ctrl-Z 在此程序中不起作用?

为什么 crtl-C 或 ctrl-Z 在此程序中不起作用?

当这个进程正在运行时,我尝试通过Ctrl+CCtrl+来停止它Z,但它们都不起作用。

#include <stdio.h>

void main(void)
{
    process();
}

void  process(void)
{
    int i;

    for (i = 1; i <= 20000000; i++) {
        printf("hello world!\n");
    }
    
    printf("!!!!!!end of print!!!!!!\n");
}

答案1

Ctrl+CCtrl+都Z适合我,无论是在终端窗口还是在 Emacs shell 缓冲区中。

它不适合您的原因可能取决于您使用的终端类型。它可能被程序的输出淹没,然后无法处理键盘输入。

尝试一下,看看是否能解决您的问题:

#include <stdio.h>
#include <unistd.h>

void  process(void)
{
  int   i;

  for (i = 0; i < 20; i++)
    {
      printf("hello world!\n");
      sleep(1);
    }

  printf("!!!!!!end of print!!!!!!\n");
}

void  main(void)
{
  process();
}

相关内容