Python获取与os / proc / [pid] /匹配的TID

时间:2018-11-22 22:45:20

标签: python python-3.x multithreading

我正在尝试获取可用于访问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()

1 个答案:

答案 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()