我有一个java线程top -H -p [java ppid number]
的列表,想通过C调用使用pthread_kill()来杀死某些线程
#include <sys/types.h>
#include <signal.h>
#include <stdio.h>
#include <linux/unistd.h>
#include <errno.h>
#include <unistd.h>
#include <pthread.h>
int main(void)
{
pthread_kill(23242,SIGKILL);
return 0;
}
像这样编译
sudo gcc ckill.c -o comp -pthread
返回
分段错误(核心转储)
怎么了?
答案 0 :(得分:1)
pthread_kill()
可以向同一进程中的线程发送信号。因此,它需要pthread_t
作为参数,而不是PID。因此,您无法像过程那样向某些Java进程发送信号。
如果您想向系统上的任何进程发送信号,请查看kill()
。