私は、ユーザプログラムとカーネルモジュールからなるプログラムを書いています。カーネルモジュールは、ユーザープログラムに "送信"するデータを収集する必要があります。これは/ procファイルを使って行う必要があります。さて、私はファイルを作成し、すべてが問題なく、インターネットで答えを読んでいる年齢を過ごしても、それを見つけることができません。どのように/ procファイルを読み書きしますかからカーネルスペース? procfileに提供されたwrite_procとread_procは、USER空間からのデータの読み書きに使用されますが、モジュールは/ procファイル自体を書き込めるようにする必要があります。カーネル空間からlinux/procファイルを読み書きするには?
5
A
答えて
9
これは動作しません。ユーザー空間プログラムがファイルを開くと、ファイルはケースバイケースでオンザフライで生成されます。それらのほとんどは、読み取り専用であり、共通のメカニズムによって生成された:
- create_proc_read_entryのエントリを登録し
- サプライファイルが読み込まれたときに呼び出される(慣例によりread_procと呼ばれる)コールバック関数
- このコールバック関数提供されたバッファにデータを格納し、(通常は)proc_calc_metricsを呼び出して、ユーザー空間に提供されるファイルポインタなどを更新する必要があります。
あなた(カーネルの)はprocfsファイルに "書き込み"しませんが、userspaceが要求したときに結果を動的に提供します。
0
ユーザー空間に渡ってデータを取得する方法の1つは、seq_filesです。カーネルパラメータを設定(書き込み)するには、sys-fsノードを考慮する必要があります。
ありがとう、 ビジェイ
関連する問題
- 1. linuxカーネルのファイルから読み書きする
- 2. Linuxカーネル空間内でリングバッファを読み取る方法は?
- 3. カーネル空間からユーザ空間にパケットをバイパスする
- 4. ファイルから読み書きする
- 5. ユーザ空間からのprocエントリへの読み込み/書き込み
- 6. カーネル空間からパケットにデータを追加するには?
- 7. ファイルから読み込み、Javaのファイルに書き込む
- 8. Linuxのカーネル空間からioctl()を使用するには?
- 9. Linuxカーネルからユーザー空間のメモリにアクセスするには?
- 10. アンドロイドのActivityThreadからファイルを読み書きする方法は?
- 11. JARファイルからファイルを読み書きする
- 12. 円柱ファイルから/に円柱テンソルを読み書きする
- 13. カーネル空間からユーザ空間関数を実行
- 14. ユーザー空間からiioファイルを読み取ることができません
- 15. linuxカーネル空間のユーザー空間スタックトレースを表示するには
- 16. phpファイルから同時に読み書きする
- 17. ユーザ空間からカーネル空間へのmemcpy
- 18. Python - 行間を読み書きする?
- 19. カーネルドライバはユーザー空間からOKを読み込んでいますが、書き戻しは常に0です
- 20. SKBをカーネル空間から送信するために
- 21. cでファイルに読み書きする
- 22. Visual C++/CLIでファイルに書き込み、ファイルから読み込む方法は?
- 23. Javaで整数からファイルを読み書きする
- 24. JavaからExcel(xlsx)ファイルを読み書きする
- 25. JavaのArrayListsからファイルを読み書きする方法
- 26. ファイルからJSONデータを読み書きする方法
- 27. Pythonでファイルからユニコードを読み書きする
- 28. 、Linuxではカーネル空間
- 29. PageFileから読み書きする
- 30. 1つのファイルから読み込み、別のファイルに書き出す