在同一台机器,信号或插座上进行进程间通信,该如何确定?

| 在我看来
signal
socket
均可用于此工作, 您如何决定实际使用哪个?     
已邀请:
        将信号用于IPC有点不方便和原始。您确实应该在Unix套接字(不是TCP套接字!)和管道之间进行选择。 管道通常更易于编程,因为它们保证了小于3的单个2原子。但是它们确实有其局限性。例如,当写入器比读取器快时,当管道缓冲区已满时,写入器将开始阻塞。默认情况下,此缓冲区的大小约为64k,并且至少在Linux中,如果不重新编译内核就无法更改该缓冲区。管道也是单向的,这意味着您必须在每个进程中保留一对管道,一个用于读取,一个用于写入。 Unix套接字具有可配置的发送缓冲区大小和更高级的编程接口。     

要回复问题请先登录注册