我怎样才能终止内核中的进程?

我怎样才能终止内核中的进程?

我对内核开发很感兴趣,正在尝试找到一种终止和杀死进程的方法。我唯一知道的是该进程的 pid 和任务描述符值。

换句话说,如何使用内核中的 pid 或指向其 task_struct 的指针来终止进程?

答案1

  1. 您可以参考的代码是 mm/oom_kill.c 中的 oom killer

    https://github.com/torvalds/linux/blob/master/mm/oom_kill.c

    这是当系统内存不足时,内核会选择杀死某个进程的机制。

  2. Android LMK比较简单,使用send_sig。 https://android.googlesource.com/kernel/arm64/+/android-9.0.0_r0.32/drivers/staging/android/lowmemorykiller.c

  3. 或者您可以使用int kill_pid(struct pid *pid, int sig, int priv)函数。

相关内容