[解決済み] なぜfor_each_processはすべてのタスクを表示しないのですか?
2022-02-17 01:13:39
質問
の各プロセスをループさせようとしています。
/proc
のカーネルモジュール)。
/fs/proc
). 問題は、ルート・ネームスペースのプロセスしか表示されないことです。私はマクロを使用しようとしています
for_each_process()
から
sched.h
.
と入力することができます。
ps
をシェルで実行すると、たくさんのプロセスが表示されますが、私の
for_each_process()
ループに表示されません。どうしたんだ?
注
と関係があるのか気になるところです。
rcu_read_lock()
? をつけるのは怖いですね。
rcu_read_lock()
で、どこに入れたらいいのかわからない。困ったことに
ドキュメント
私が読んだところでは、プリエンプティブカーネル(私のカーネルはそうです)では
rcu_read_lock()
. を呼び出す必要があります。
down_read(mmap_sem)
これは、スリープしてしまうのではないかと心配です。ということは
rcu_read_lock()
?
解決方法は?
すべてのプロセスが表示されるはずです。このようなコードを書きました。
struct task_struct *task;
for_each_process(p) {
printk("Task %s (pid = %d)\n",p->comm, task_pid_nr(p));
}
これは、すべてのプロセスを印刷しています。私はあなたの
proc_read
関数を使用します。を貼り付けていただけますか?
proc_read
関数をここに追加してください。
関連
-
[解決済み】ENOENTが「そのようなファイルやディレクトリはありません」という意味であるのはなぜですか?
-
[解決済み】stdinとSTDIN_FILENOの違いは何ですか?
-
[解決済み】C言語で「関数の型が競合しています」と表示される、なぜ?
-
[解決済み】初期化がキャストなしで整数からポインタを作成 - C言語
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] 配列の場合、なぜ a[5] == 5[a] になるのでしょうか?
-
[解決済み] Linux で grep を使ってファイル名だけを表示するにはどうしたらいいですか?
-
[解決済み] Cプリプロセッサはなぜ "linux "という単語を定数 "1 "と解釈するのですか?
-
[解決済み] プッシュするたびにGitがユーザー名を尋ねてくる
-
[解決済み] 何が私のプロセスを殺したのか、なぜなのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] c - 初期化がキャストなしでポインタから整数を作る、さらに2つのコンパイラーエラー
-
[解決済み】変数の警告が設定されているが使用されていない
-
[解決済み] Connect: ソケット以外でのソケット操作
-
[解決済み】「無効なイニシャライザー」と表示されるのですが、何が間違っているのでしょうか?
-
[解決済み】警告。この関数ではXが初期化されていない状態で使用される可能性があります。
-
[解決済み】C言語で浮動小数点例外(コアダンプ)発生
-
[解決済み】Cygwin - Makefile-error: ターゲット `main.o' のレシピに失敗しました。
-
[解決済み】コンパイラの警告 - 真理値として使用される代入の周囲に括弧を付けることを推奨する
-
[解決済み] エラー:整数が期待されるところで集約値が使用された
-
[解決済み】malloc():メモリ破壊