問題タブ [procfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2767 参照

linux - cp が /proc/stat ファイルのコピーに失敗するのはなぜですか?

Linux マシンで /proc/stat をコピーしようとすると、0 バイトのファイルが作成されます。しかし、 cat /proc/stat を実行すると、データがあります。ただし、サイズは常に 0 として表示されます。

ゼロバイトファイルを作成しています。コピーするプログラムを書くと、うまくいきました。なぜそうなのですか?

0 投票する
1 に答える
707 参照

linux - Linux で seek(0) /proc/sys/* 疑似ファイル?

/proc/sysLinuxファイル記述子のセマンティクスに関する文書化された標準はありますか?

それらに使用するのは適切seek(0)ですか?

これは、私のテストでうまくいくと思われるコードです。

これはうまくいくようです。しかし、それがそのようなことを行う正しい方法なのか、それともループオーバーする必要があるのか​​ を知りたいのですがopen()... read()...close()

この特定のケースでは、collectd Python プラグインでこれを使用します...したがって、この特定のコードはデーモンで無期限に実行されます。ただし、一般的なクラスの質問に対する回答に興味があります。

(ちなみに、「open files/inodes」モジュール/プラグインはありcollectdますか?)

0 投票する
1 に答える
3522 参照

c - /proc/partitions 物理ディスクとパーティションを検出するためのメジャー番号とマイナー番号

出力から物理ディスク ( /dev/sda) と論理ディスク ( )を区別したい。/dev/sda1/proc/partitions

  1. 私が見る簡単な方法の1つは、整数で終わるかどうかを正規表現パターンで確認することです
  2. 私のマシンの出力を見ると、すべてのエントリsdaよりもマイナー値が最小ですsdaN
  3. の存在を確認するので、(失敗する) ディレクトリと(成功する) ディレクトリ/sys/block/[NAME]を読み込もうとします。/sys/block/sdaN/sys/block/sda

どれが信頼できるかわかりませんが、他に方法はありますか?

また、次のようなツリー構造を確実に作成するにはどうすればよいですかsda : {sda1, sda2, sda3, sda4, sda4}, sdb : {sdb1}

  1. その名前だけで
  2. マイナー番号による
  3. もう一度調べて/sys/block
  4. 位置順 (sda1 は常に sda の後に来ることが確認されていますか? たとえば、論理パーティションのエントリは常に物理ディスクのエントリの後に来るのでしょうか?)
0 投票する
1 に答える
1511 参照

linux - proc/ID/maps に共有ライブラリのエントリが複数ある理由

組み込み Linux で proc/ID/maps を見ていると、一部の共有ライブラリがプロセスのメモリ マップに数回表示されることに気付きました。

0 投票する
1 に答える
2813 参照

c++ - スレッドを使用したプログラムのデバッグ中の奇妙なエラー: /proc ファイルを開けません

スレッドを使用してプログラムをデバッグしているときに、奇妙なエラーが発生しました。

デバッグ セッション中に他の警告は表示されません。

プロセス/スレッド 3663 が存在しません。

gdb がプロセス/スレッドの pid を誤解している可能性はありますか? 問題を特定するために、どのような追加チェックを行うことができますか?

0 投票する
2 に答える
1114 参照

c - C カーネル モジュールの /proc ファイルを確認する

カーネルとユーザー空間の間で変数を共有したいのですが、procfsで可能であることがわかりました。指定された値が設定されている場合、カーネルモジュールは特定の方法で動作する必要があります。ユーザー空間プログラムはこの値を変更する責任がありますが、カーネル モジュールは必要に応じてそれを読み取る必要があります。

/procカーネルモジュールでファイルを作成する必要があることはわかっています。私の質問は、カーネルモジュールからファイルを読み取る方法ですか?

0 投票する
1 に答える
541 参照

c - 読み取り時に workqueue と timer モジュールがクラッシュする

3 つの部分からなるモジュールを作成しています。私はDebian 6で働いています。

1 つ目は、125 ティックごとにトリガーされるタイマーです。その機能は、システム jiffies を選択し、それらをマスクして、10 個のスペースを持つ循環バッファーに含めることです。そのスペースの 80% がビジー状態になると、ワーク アイテムがワーク キューに追加され、数値がリストに取り込まれます。ユーザーが /proc/modtimer エントリを読み取ると、そのリストの要素が削除されます。

私が抱えている問題は次のとおりです。問題なくモジュールをインストールできます。/proc エントリ (2 つ必要ですが、実装されているのは 1 つだけです) は問題なく作成されますが、カーネルを読み取ろうとするとクラッシュします。コントロールメッセージを読むと、問題はリリース手順にあると思います。私は問題や問題が何であるかを知りません。これが私のコードです

編集: いくつかのテストの後、私のプログラムは次の行でクラッシュします:"del_timer_sync(&my_timer);"

EDIT2:インストール/アンインストール/開く/閉じる/読み取り機能以外はすべて削除しました

EDIT3:「add_timer(&my_timer);」でもかまいません。

0 投票する
1 に答える
212 参照

linux - Linux デーモンでの効率的なファイル チェック

デーモンからファイルを監視するより効率的な方法を探しています。いくつかのファイル (/proc/btn_sw1および/proc/btn_sw2) を監視するためにループするスクリプトを作成しました... ループが悪い考えであることは知っていましたが、それがどれほど悪いことかはわかりませんでした。

デーモンは init プロセスを介して自動的に開始され、起動後にtop出力を確認したところ、私のプロセスは常に ~17% の CPU を実行している #1 でした。

私のデーモンは、ハードウェア ボタンが押された/離されたときにキーパッド ドライバーによって設定される /proc エントリ (値は 1 または 0 のみ) を監視します。したがって、これらのファイルの値がいつ変更されるかを知る必要があります。

ファイルの値が変更されたときにデーモンを起動させる方法はありますか? 注:ボタンが押されている時間の長さをタイムアウトする必要があり、開始を逃したくないため、各読み取りの間にX秒間だけスリープしたくありません。

私の現在のデーモンコード: