close(0)后直接退出
来源:2-9 服务程序的调度

Oarrrr
2022-06-28
你好,为什么我在close 0 1 2的时候就会直接退出,而你在视频里的程序却仍然能执行呢,但我在ubutun20.04和centos7上使用你的procctl.cpp也是直接退出,我查了文档,说关闭STDIN_FILENO和STDOUT_FILENO会导致不可预测的行为吗,我只有修改成以下才能运行,但请问为什么你的程序可以运行呢?
for (int ii=0;ii<64;ii++)
{
signal(ii,SIG_IGN);
if(ii<3) continue;
printf("close(%d) == %d\n",ii,close(ii));
}
//终端上显示
//close(0) == 0
//然后就退出了
写回答
1回答
-
长歌_吴从周
2022-06-29
你的情况可能是其它的原因,我一直都是把io和信号close,不曾有过问题。
学习的兄弟那么多,如果真有bug,早就爆出来了。
00
相似问题