我正在尝试获取可用于访问tid
的线程ID(/proc/[tid]/sched
)。我可以在htop
的PID列中查找它,但是当我尝试从python内部访问它时,我总是得到-1
。
#!/usr/bin/env python3
import ctypes
import threading
def get_tid():
libc = ctypes.cdll.LoadLibrary('libc.so.6')
print(libc.syscall(224))
threading.Thread(target=get_tid).run()
答案 0 :(得分:1)
在Ubuntu 18.04上对我来说是syscall 186
import ctypes
import threading
def get_tid():
"""System call gettid on Linux, returning thread-id."""
print(ctypes.CDLL('libc.so.6').syscall(186))
threading.Thread(target=get_tid).run()