나는 이미 이 질문을 했습니다.레딧에서, 그러나 아쉽게도 답변을 받지 못했습니다.
다음과 같은 쉘 출력이 있습니다.
[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
시스템 호출을 이해해야 할 것 같습니다.