我写了一个服务器程序,可以使用fork()处理多个客户端。我有一个信号处理程序,在需要时进行错误检查,并且一切正常。如果客户端输入'quit',服务器应该停止接受连接,让已打开的客户端完成通信,并在所有客户端关闭后关闭。要做到这一点,无论何时输入'quit',我的int标志都被设置为0.由于每个子进程中的变量仅用于该进程,并且不影响其他子进程或父进程,所以我可以“T跟踪,当标志被设置为0。在我的信号处理程序我检查fork() - 关闭服务器
if(count == 0 && flag == 0)
//close server and exit program
计数的客户端数量开启之后他们都将关闭,显然是零(这已经被错误校验以确保它是正确的)。有谁知道我可以创建可以在一个客户端设置标志的方式,并且对每个客户端都有相同的价值吗?如果这是有道理的..顺便说一句,我在C编码。
很多方法可以做到这一点。这里有一个有用的关键字是“进程间通信”http://en.wikipedia.org/wiki/Inter-process_communication – HostileFork