如果我有一个应该从多播接收数据的过程,我该如何检查它是否是真的?

我可以检查gstack ,但只是因为我看到recv调用上的侦听器线程并不意味着该调用没有返回。 我认为还有一件事是做类似的事情:

netstat -lupe | grep <PROCESS_PID>

检查通过udp监听的套接字的inode。 然后可能尝试观看( watch命令) /proc/net/udp关于这些inode的接收和传输队列。 但是,我不确定这是否是一个很好的诊断方法。 试图聆听相同的多播组来检查数据传入也不是真正保证有问题的进程正在接收数据。

我可以探究或尝试的其他方式或事情是什么?

查看netstat -gn输出来查看连接。

tcpdump可以帮助实际看到活动…例如: tcpdump -i eth1 -s0 -net 224.0.31.0/24