$ ps -e -T | grep myp | grep -v grep
797 797 ? 00:00:00 myp
797 798 ? 00:00:00 myp
797 799 ? 00:00:00 myp
797 800 ? 00:00:00 myp
This shows the process myp
with PID = 797 and four threads with different SPIDs.
How can I kill a particular thread of the process without killing the whole process. I understand that it might not be possible at all in some cases when there are fatal dependencies on that particular thread. But, is it possible in any case? Is yes, how?
I tried kill 799
and the process itself was terminated. Now I am not sure this was because there were dependencies that made myp
fail without the process 800
or because kill is simple not able to kill individual processes.
Best Answer
Threads are an integral part of the process and cannot be killed outside it. There is the pthread_kill function but it only applies in the context of the thread itself. From the docs at the link: