我已经问过这个问题了在 Reddit 上,但遗憾的是没有收到任何回复。
我有以下外壳输出:
[OP@~]$ strace okular file.pdf
/* snipped */
write(13, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x5576a0f79370, FUTEX_WAIT_PRIVATE, 0, NULLSettings::instance called after the first use - ignoring
Invalid Context= "Legacy" line for icon theme: "/usr/share/icons/Adwaita/8x8/legacy/"
Invalid Context= "Legacy" line for icon theme: "/usr/share/icons/Adwaita/16x16/legacy/"
Invalid Context= "UI" line for icon theme: "/usr/share/icons/Adwaita/16x16/ui/"
Invalid Context= "Legacy" line for icon theme: "/usr/share/icons/Adwaita/22x22/legacy/"
Invalid Context= "Legacy" line for icon theme: "/usr/share/icons/Adwaita/24x24/legacy/"
Invalid Context= "UI" line for icon theme: "/usr/share/icons/Adwaita/24x24/ui/"
Invalid Context= "Legacy" line for icon theme: "/usr/share/icons/Adwaita/32x32/legacy/"
Invalid Context= "UI" line for icon theme: "/usr/share/icons/Adwaita/32x32/ui/"
Invalid Context= "Legacy" line for icon theme: "/usr/share/icons/Adwaita/48x48/legacy/"
Invalid Context= "UI" line for icon theme: "/usr/share/icons/Adwaita/48x48/ui/"
Invalid Context= "Legacy" line for icon theme: "/usr/share/icons/Adwaita/256x256/legacy/"
Invalid Context= "Legacy" line for icon theme: "/usr/share/icons/Adwaita/512x512/legacy/"
Invalid Context= "UI" line for icon theme: "/usr/share/icons/Adwaita/scalable/ui/"
org.kde.kcoreaddons: Expected JSON property "X-Purpose-PluginTypes" to be a single string. but it is a stringlist
discarding "Send SMS via KDE Connect..." "ShareUrl"
) = 0
futex(0x5576a0f79320, FUTEX_WAKE_PRIVATE, 1) = 0
/* snipped */
我如何解释中间的调用futex
?也就是说,有几件事我不明白:
第四个参数是怎么回事?根据
futex(2)
手册中的说法,原型是int futex(int *uaddr, int futex_op, int val, const struct timespec *timeout, /* or: uint32_t val2 */ int *uaddr2, int val3);
但是,我不明白它的类型是 *timespec。
- 在我的手册版本中,没有描述futex_op FUTEX_WAIT_PRIVATE。
我正在运行 Arch Linux,strace
版本 5.0。
编辑:对于上下文,发生的事情基本上是这问题。我正在查看系统跟踪希望获得一些信息。我这样做的原因是由于某种原因,错误消息显示在我的终端上,尽管没有写入 stdout 或 stderr。但为了理解为什么,我想我需要理解这个futex
系统调用。