5

ユーザー空間のアプリケーション/プロセスが強制終了されたときに起動される Linux カーネル モジュールで使用できるフックがあるかどうか疑問に思っています。

4

1 に答える 1

2

最初に、カーネル モジュール内の通知チェーンに登録できます。

内部get_signal_to_deliverkernel/signal.c)では、(これは相対的な用語です)強制終了されたプロセスには、PF_SIGNALEDフラグが設定されています。ここでは、次のように tcomm フィールドを使用して現在のプロセスの名前を確認できます。

char tcomm[sizeof(current->comm)];
get_task_comm(tcomm, current);

それが実際に問題のプロセスである場合は、通知チェーンを起動するだけで、そのチェーンで待機していたモジュールを目覚めさせることができます。

于 2014-01-15T07:50:53.393 に答える