我正在尝试编写一个使用tgkill向特定线程发送信号的程序,但每当我使用gcc编译它时,我都会收到有关'tgkill'未定义引用的错误。我尝试使用-lpthread编译,但它没有帮助。我用Google搜索并用Google搜索,无法得出任何答案。如何编译?
答案 0 :(得分:6)
来自tgkill()
联机帮助页:
Glibc不提供包装 这些系统调用;打电话给他们 系统调用(2)。
答案 1 :(得分:4)
你可能想要使用这样的东西。
tgid=getpid();
tid=gettid();
syscall(SYS_tgkill, tgid, tid, signalname));
答案 2 :(得分:3)
如另一个答案所述,glibc不提供tkill()
或tgkill()
的包装。
相反,您应该使用pthread_kill()
。