Grep:/ proc / sysrq-trigger:入出力エラー

user1166981:

ファイルシステムを検索してgrepを利用しています。このエラーが表示されるまで、すべてが機能していることがわかります。

Grep: /proc/sysrq-trigger: Input/output error

他の人が同じ問題に遭遇したネット上のさまざまな場所で情報を見つけましたが、実際に機能するものはどこにもありませんでした。エラーを抑制した2> / dev / nullを試しましたが、「ファイルをスキップ」しませんでした。代わりに、プロセス(grepを使用したfind / sedプロセス)を停止するだけです。grepを使用して除外するファイルを指定する方法はあると思いますが、より堅牢でエレガントなソリューションが存在することを期待しています。

thkala:

ファイルシステム階層全体を再帰的に検索しているように聞こえます。これは、ほとんどのシステムで期待どおりに機能しません。

Linuxでは、少なくとも/proc/sysされている仮想ファイルシステム-彼らは、ディスク上の実際のファイルに対応していません。の特殊ファイル/devも実際のファイルではありません-それらは、ハードディスク、入力デバイスなどのシステム上のデバイスの一部に対応しています。カーネルをクラッシュさせる可能性があるため、ファイルシステムを破壊し、ハードウェアに永久的な損傷を与えることさえあります。

を使用findして検索を実行しているので、検索の範囲を制限する必要があります。

  • 明示的な否定-pathオプションを使用します。

    find / -maxdepth 2 -type f ! -path '/proc/*' ! -path '/sys/*'
    
  • 次の-pruneオプションを使用します。

    find / -maxdepth 2 -path '/proc' -prune -o -path '/sys' -prune -o -type f -print
    
  • この-xdevオプションを使用して、他のファイルシステムに完全に移動しないようにします。

    find / -maxdepth 2 -xdev -type f
    

-pathおよびの-pruneオプションを使用して、の出力を微調整することができますfindただし、パイプラインの後のステージに渡す前に、その出力を検査することをお勧めします。

編集:

以下は、制御されていない方法で特定のファイルにアクセスしたときに引き起こされる損傷の例ですroot

  • 古いカーネルがクラッシュするために使用場合/proc/kcoreとして読み取りましたroot私はこれはもう起こらないと信じていますが、/proc/kcore2.4.xカーネルシリーズで導入されてからこの問題に遭遇し、時々再びポップアップするので、実際にテストする気はありません...

  • デバイスノードを介してブロックデバイスを読み取る/dev/と、VFSとさまざまなキャッシュをバイパスするため、そのデバイスの他の操作が大幅に遅くなる可能性がありますたとえば、他のプロセスがインストールされたファイルシステムを介して6TBのRAID-5パーティションを直接読み取ることを想像してみてください。-type fin find使用すると、これが発生するのを防ぐことができます。

  • 変更について説明したので、を介してアクセスできるファームウェアを破壊することで、組み込みデバイスを簡単にブリックできます/dev/mtd*場合によっては、かなり極端な対策を講じないと、このような破損から回復することが不可能です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Alt-SysRq-E kills init

分類Dev

Alt + sysrq + REISUBがラップトップを再起動しない

分類Dev

"echo l> / proc / sysrq-trigger"呼び出しトレース出力が常に類似しているのはなぜですか?

分類Dev

/ proc / meminfoのエントリ

分類Dev

proc_open()の出力を取得する方法

分類Dev

Grep hcitoollescan出力

分類Dev

psqlエラー出力をgrepにパイプします

分類Dev

/ proc / meminfo、/ proc / cpuinfoなどの出力は常に英語ですか?

分類Dev

Alt + sysrq + REISUBがラップトップを再起動しない

分類Dev

sysrq-トリガーはパラメーター「g」を受け入れません

分類Dev

grepエラー出力をファイルにリダイレクトします

分類Dev

Linuxでは、なぜ/ proc / sysrq-triggerに書き込むためにrootである必要があるのですか?

分類Dev

Linux / proc / sys / kernel:sysrq-sticky、sysrq-key、およびsysrq-timerのファイルはどこにありますか?

分類Dev

proc_fs.hからのproc_create_entryでのエラー「暗黙の宣言」

分類Dev

関数のgrepエラー

分類Dev

SAS:Proc sortnodupkeysエラー

分類Dev

SysRqをラップトップで動作させる方法は?

分類Dev

カーネルパニックが発生した場合、sysrqは機能しますか?

分類Dev

カーネルパニックが発生した場合、sysrqは機能しますか?

分類Dev

シリアル端末を介してプログラムでブレーク信号(Magic SysRq)を送信する方法

分類Dev

cdrecordのgrep出力

分類Dev

エスケープ[grepで

分類Dev

grep -v出力なし?

分類Dev

SysRqは| less、| more、| teeに出力しますか?

分類Dev

sysRqファインコントロール

分類Dev

CTRL + ALT + SYSRQ + REISUOキーの押下を自動化する端末コマンドエイリアスを作成することは可能ですか?

分類Dev

SysRQ + B(ブート)は機能していませんが、O(オフ)は機能しています

分類Dev

Grepコマンドエラー

分類Dev

Fluentd grep +出力ログ

Related 関連記事

  1. 1

    Alt-SysRq-E kills init

  2. 2

    Alt + sysrq + REISUBがラップトップを再起動しない

  3. 3

    "echo l> / proc / sysrq-trigger"呼び出しトレース出力が常に類似しているのはなぜですか?

  4. 4

    / proc / meminfoのエントリ

  5. 5

    proc_open()の出力を取得する方法

  6. 6

    Grep hcitoollescan出力

  7. 7

    psqlエラー出力をgrepにパイプします

  8. 8

    / proc / meminfo、/ proc / cpuinfoなどの出力は常に英語ですか?

  9. 9

    Alt + sysrq + REISUBがラップトップを再起動しない

  10. 10

    sysrq-トリガーはパラメーター「g」を受け入れません

  11. 11

    grepエラー出力をファイルにリダイレクトします

  12. 12

    Linuxでは、なぜ/ proc / sysrq-triggerに書き込むためにrootである必要があるのですか?

  13. 13

    Linux / proc / sys / kernel:sysrq-sticky、sysrq-key、およびsysrq-timerのファイルはどこにありますか?

  14. 14

    proc_fs.hからのproc_create_entryでのエラー「暗黙の宣言」

  15. 15

    関数のgrepエラー

  16. 16

    SAS:Proc sortnodupkeysエラー

  17. 17

    SysRqをラップトップで動作させる方法は?

  18. 18

    カーネルパニックが発生した場合、sysrqは機能しますか?

  19. 19

    カーネルパニックが発生した場合、sysrqは機能しますか?

  20. 20

    シリアル端末を介してプログラムでブレーク信号(Magic SysRq)を送信する方法

  21. 21

    cdrecordのgrep出力

  22. 22

    エスケープ[grepで

  23. 23

    grep -v出力なし?

  24. 24

    SysRqは| less、| more、| teeに出力しますか?

  25. 25

    sysRqファインコントロール

  26. 26

    CTRL + ALT + SYSRQ + REISUOキーの押下を自動化する端末コマンドエイリアスを作成することは可能ですか?

  27. 27

    SysRQ + B(ブート)は機能していませんが、O(オフ)は機能しています

  28. 28

    Grepコマンドエラー

  29. 29

    Fluentd grep +出力ログ

ホットタグ

アーカイブ