Как я могу уничтожить процесс в ядре?

Я интересуюсь разработкой ядра, и я пытаюсь найти способ завершить и уничтожить процесс. Единственной вещью, которую я знаю, является pid и значение дескриптора задачи того процесса.

Другими словами, как я могу уничтожить процесс при помощи его pid или указателя на его task_struct в ядре?

0
задан 24 October 2018 в 09:10

1 ответ

  1. Код, на который Вы могли сослаться, является oom уничтожителем в mm/oom_kill.c

    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) функция.

1
ответ дан 27 October 2019 в 06:57

Другие вопросы по тегам:

Похожие вопросы: