問題タブ [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.
linux - / procのみを使用してソケットの所有PIDを見つけるにはどうすればよいですか?
/ proc / net / tcp出力から所有するPIDを見つけるにはどうすればよいですか(またはnetstat-pまたはss -p)?
以下の出力を示します。
/ proc / $ PIDを繰り返してiノードを検索する必要がありますか?
運が悪かったので、上記のiノードに一致するように/proc/でfindを実行してみました。
iノードのフィールドの意味を誰かが説明できますか?
ありがとう!
linux - /procからの可能な内部ソケットステータスのリスト
st
の列の可能な値を知りたいのですが/proc/net/tcp
。この列は、またはst
からのSTATE列と同じだと思います。netstat(8)
ss(8)
私はなんとか3つのコードを識別しました:
上記は次のことを示しています。
- ラインsl0:tcp/2208のリスニングポート。
st = 0A = LISTEN
- オンラインsl6:tcp/22で確立されたセッション。
st = 01 = ESTABLISHED
- オンラインsl7:sshログアウト後のTIME_WAIT状態のソケット。iノードはありません。
st = 06 = TIME_WAIT
誰かがこのリストを拡張できますか?マンページは、次のproc(5)
ように述べている主題について非常に簡潔です。
また、関連するメモとして、上記の/ proc / net / tcp出力は、いくつかのリスニングプロセス(2208、62、111など)を示しています。ただし、確立された状態とtime_wait状態は表示されていますが、tcp/22でリスニングtcp接続を確認できません。はい、私はそれらを見ることができますが、それらはまた/proc/net/tcp6
存在するべきではありません/proc/net/tcp
か?Netstatの出力は、ipv4のみにバインドされたアプリケーションとは異なる方法で表示されます。例えば
どうもありがとう、-アンドリュー
linux - Linux プロセスのリソース使用量の取得 (CPU、ディスク、ネットワーク)
/proc を使用して、特定のプロセスの毎秒のリソース使用量を確認したいと考えています。リソースには、cputime、ディスク使用量、およびネットワーク使用量が含まれます。/proc/pid/stat を見ましたが、必要な詳細が得られているかどうかわかりません。3 つのリソースの使用状況がすべて必要であり、それらを毎秒監視したいと考えています。
linux - Linuxカーネルのファイルからの読み書き
カーネル 3.0 での VFS FAT 実装用のパッチを作成しています。Linux で作成された FAT ファイルに posix 属性を追加したいと考えています。これを実現するには、マウントされたドライブにすべての関連情報を含むファイルを保存する必要があります。
カーネル空間からのファイルの読み取りと書き込みは通常行うべきではないことを知っており、データを読み書きする別の方法を探しています。
/proc を使用するか、IO を実行するユーザー空間デーモンを作成することを提案する記事をネットで見ました。ネット上でその例が見つからなかったので、誰かがそのようなものの実装を見たり、どこを見たりできるか知りたいと思っていました。私は proc への読み書きの例を探しているわけではありません。この問題の完全な解決策を見たいのです。
python - /proc/stat からの user、nice、sys、idle、iowait、irq、および sirq の計算
/proc/stat は、user、nice、sys、idle、iowait、irq、および sirq のティックを次のように表示します。
cpu 6214713 286 1216407 121074379 260283 253506 197368 0 0 0
これらの値を使用して、ユーザー、ナイスなどの個々の使用率 (%) を計算するにはどうすればよいですか? 「top」または「vmstat」に表示される値と同様です。
linux - /procへのアクセス
私は現在、多くのシステムおよびプロセス情報を必要とするアプリケーションを開発しています。そのうちのいくつかは/ procからのみ入手可能であり、構造へのアクセスについていくつかの一般的な質問があります。
アプリケーションはLinux(カーネル> = 2.6)で実行され、他のUnixフレーバーのOSでは実行されません。/ proc内のすべてのデータにアクセスできるはずです。仕様がまだ明確ではないため、今何が必要かはわかりませんが、/procディレクトリ全体がアプリケーションに関連しています。
まず第一に:カーネルバージョンからカーネルバージョンに追加/削除されたすべての機能をカバーする優れたドキュメントはありますか?特に気になるのは、個々のファイルのフォーマットです。それを当然のことと思ってもいいですか?カーネルバージョン間で変更されますか?
カーネルに基づいて解析プロセスを接続することはまったく問題ではありません。バージョンごとに何が変更されたかについての適切なドキュメントが見つからなかっただけで、事前に解析エラーを見つけるのに役立ちます。
さらに:カーネルオプションによってアクティブ化/非アクティブ化できる機能の明確なリストはありますか(もちろん/ proc-feature自体を除く)?カーネルに適切なオプションが設定されている場合にのみ存在するファイル/ディレクトリのリストを探しています。
私が考えていることの例として、これはprocのマンページ(http://linux.die.net/man/5/proc)へのリンクであり、多くの優れた情報が含まれています。たとえば、いくつかのオプションには最も古いものが含まれています。それらが利用可能だったカーネルバージョン。モジュールをロードする必要があるかどうかを含むものもあります。ただし、これはすべての情報の出力形式を説明しているわけではありません。これは、解析する場合に必要なものです(たとえば、すべてのカーネルバージョンで一貫している場合や、ある時点で変更されている場合)。
私が疑問に思っている2番目のことは、照会されたプロセスが照会されている間に終了した場合にどうなるかということです。私の時間間隔はどれくらいですか?たとえば、すべての構造を読み取るプロセスのリストをフェッチし、それらを次々に解析する場合、プロセスxが読み取れる前に停止するとどうなりますか?ディレクトリが存在するかどうかを確認しても、後で1回のアプリケーション呼び出しでディレクトリが失われる可能性があります。
最後になりましたが、procをマウントしていない主要なディストリビューションはありますか?
lsmod
私が理解していることから、多くの一般的なツールはやなどの/ procインターフェースに基づいているfree
ので、/procはほとんど常に存在することが期待できると思います。
linux - プロセスの実行中に Linux procfs の inode 番号が変更された
Linux用のセキュリティソフト(SW)をやっています。SW が行うことの 1 つは、何らかのプロセスが開始されると、SW がプロセスの /proc/ エントリを stat() し、エントリの inode 番号を記憶することです。後でプロセスがまだ実行中であること (および再起動されていないこと) を確認する必要がある場合、SW はプロセスの inode を再度検索し、記憶されているものと比較します。最近まで、特定のアプリケーション (Opera ブラウザー 11.10beta) について誤ったアラートを受け取るようになるまで、すべてが順調でした。基本的に、Opera の実行中に、その /proc/PID エントリの inode 番号が変更されたように見えますが、これは不可能であると考えられていました。これは、SW のセキュリティ概念の動作においてかなり大きな問題です。プロセスが実行されている間、その /proc/ エントリの i ノードが変更されないという事実に大きく依存しています。
なぜそのような行動が見られるのか、どなたか教えてください。ありがとう。
linux - Linuxでprocfsからjobidを取得する方法
Linuxのprocfsからjobidを取得したいと思います。/ proc // statusファイルにはPid、Ppidしか表示されません。しかし、私もjobidが必要でした。情報を入手する方法があるかどうか教えてください。
ありがとう !
linux - Linux アプリはソケットなしで UDP を送信します
仲間のコーダー。libnetfilter_queue モジュールと iptables ルール ipatbles -I OUTPUT 1 -p all -j NFQUEUE --queue-num 11220 を使用して送信トラフィックを監視しています
Jitsi と呼ばれる特定のアプリ (Java 上で動作) が、これまで遭遇したことのないような奇妙な動作を示しています: NFQUEUE パケットを処理する私の監視プログラムは、UDP パケットが送信されていることを明確に示しています。 proc/net/udp" および "/proc/net/udp6" は空です。さらに、"/proc/net/protocols" には UDP の "sockets" 列があり、0 です。しかし、UDP パケットは送信され続けます。1 分ほどすると、「/proc/net/udp」と「/proc/net/protocols」が UDP パケットに関する正しい情報を表示し始めます。そしてしばらくすると、UDP パケットが送信されている間、それらに情報がありません。
私の唯一の結論は、どういうわけか、アプリケーションがソケットを作成せずに UDP パケットを送信する可能性があること、および/またはソケットを作成してから削除し (カーネルが存在しないと判断するようにするため)、依然としてあいまいな方法を使用して送信することが可能であるということです。外のパケット。
そのような行動についてアイデアを持っている人が手を差し伸べてくれませんか?