3

Linux スケジューラで何かを書いていますが、割り込みが発生する前にどのプロセスが実行されていたかを知る必要があります.現在の構造は利用できますか? 割り込みハンドラ内で current->pid を実行すると、割り込みを行ったプロセスの pid を取得できますか?

4

2 に答える 2

5

あなたは、current->pid存在し、中断されたプロセスです(アイドルスレッドまたは任意のスレッドである可能性があります)。

Linux スケジューラー内で記述している場合は、十分に注意する必要があります。current実行する新しいプロセスを選択するときにスケジューラによって変更されるため、その値は正確にいつ読み取ったかによって異なります。

于 2012-05-13T13:13:47.517 に答える
0

currentがプロセスコンテキスト外で有効であるとは思いません。スケジューラで作業している場合は、実行中のタスクへのポインタが格納されている場所 (例: struct cfs_rq) を取得できる可能性があります。

于 2012-05-13T13:52:44.990 に答える