signal.pthread_kill(thread_id, signalnum)
Send the signal signalnum to the thread thread_id, another thread in the same process as the caller. The target thread can be executing any code (Python or not). However, if the target thread is executing the Python interpreter, the Python signal handlers will be executed by the main thread. Therefore, the only point of sending a signal to a particular Python thread would be to force a running system call to fail with InterruptedError
.
Use threading.get_ident()
or the ident
attribute of threading.Thread
objects to get a suitable value for thread_id.
If signalnum is 0, then no signal is sent, but error checking is still performed; this can be used to check if the target thread is still running.
Availability: Unix (see the man page pthread_kill(3) for further information).
See also os.kill()
.
New in version 3.3.
Please login to continue.