sleep()时,进程处于什么状态? 执行代码或者等待I/O时又处于什么状态?
下面是一个不太完整的实验。
//下面代码启动后,请不停地用ps查看进程的状态 int main(){ sleep(10); //此时状态是"S", 即“可中断的等待” printf("sleep done\n"); printf("Ready to connect non existing server\n"); connect_server_fake_port(); //连接服务器上一个没有打开的端口,直到超时退出。 此时状态也是"S",进程处于阻塞中 printf("done with connecting non existing server\n"); printf("ready for for-ever loop\n"); while(1); //此时状态是"R", 说明进程在就绪队列中 }