![gpsd 和 ntpd 之间的共享内存通信](https://linux22.com/image/1502807/gpsd%20%E5%92%8C%20ntpd%20%E4%B9%8B%E9%97%B4%E7%9A%84%E5%85%B1%E4%BA%AB%E5%86%85%E5%AD%98%E9%80%9A%E4%BF%A1.png)
我正在运行 Linux Fedora 24,我想使用 gpsd 通过共享内存将接收到的信号发送给 ntpd。我认为我的 ntpd 配置没有问题,但 ntpq 显示 SHM(0) 和 SHM(1) 的“reach”值为零。我怀疑共享内存通信出了问题。cgps 显示信号正在到达。我没有找到与此问题相关的日志条目。
在这里您可以看到与提到的缺陷通信相关的 ipcs 和 lsof 输出的相关部分。
我该怎么做才能解决这个问题?非常感谢!
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x4e545030 0 root 600 80 2
0x4e545031 32769 root 600 80 2
0x4e545032 65538 root 666 80 1
0x4e545033 98307 root 666 80 1
0x4e545034 131076 root 666 80 1
0x4e545035 163845 root 666 80 1
0x4e545036 196614 root 666 80 1
0x4e545037 229383 root 666 80 1
0x47505344 262152 root 666 8068 1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
gpsd 849 nobody DEL REG 0,5 262152 /SYSV47505344
gpsd 849 nobody DEL REG 0,5 229383 /SYSV4e545037
gpsd 849 nobody DEL REG 0,5 196614 /SYSV4e545036
gpsd 849 nobody DEL REG 0,5 163845 /SYSV4e545035
gpsd 849 nobody DEL REG 0,5 131076 /SYSV4e545034
gpsd 849 nobody DEL REG 0,5 98307 /SYSV4e545033
gpsd 849 nobody DEL REG 0,5 65538 /SYSV4e545032
gpsd 849 nobody DEL REG 0,5 32769 /SYSV4e545031
gpsd 849 nobody DEL REG 0,5 0 /SYSV4e545030
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ntpd 898 ntp DEL REG 0,5 32769 /SYSV4e545031
ntpd 898 ntp DEL REG 0,5 0 /SYSV4e545030
答案1
“gpsd” 的“-n”选项有一个隐藏行为。如果未设置此选项,则不会通过共享内存进行通信。