答えて
Linux /procファイルシステムを調べてください。トピックhereに関する良い記事があります。
ソースがどのように実装されているか見ていないのですか?私は/ procのすべての形式を説明するために、SOの質問では望めません。だから、存在するものを勉強することを強くお勧めします。
これは驚くほど宿題のようです。その後、質問をして自由に感じる。..それを研究、コードhereを探す:)
あなたはそれを再やろうとしている場合は、引数は意味を成してください:
********* simple selection ********* ********* selection by list *********
-A all processes -C by command name
-N negate selection -G by real group ID (supports names)
-a all w/ tty except session leaders -U by real user ID (supports names)
-d all except session leaders -g by session OR by effective group name
-e all processes -p by process ID T all processes on this terminal -s processes in the sessions given a all w/ tty, including other users
-t by tty g OBSOLETE -- DO NOT USE -u by effective user ID (supports names) r only running processes
U processes for specified users x processes w/o controlling ttys t by tty
*********** output format ********** *********** long options ***********
-o,o user-defined -f full --Group --User --pid --cols --ppid
-j,j job control s signal --group --user --sid --rows --info
-O,O preloaded -o v virtual memory --cumulative --format --deselect
-l,l long u user-oriented --sort --tty --forest --version
-F extra full X registers --heading --no-heading --context
********* misc options *********
-V,V show version L list format codes f ASCII art forest
-m,m,-L,-T,H threads S children in sum -y change -l format
-M,Z security data c true command name -c scheduling class
-w,w wide output n numeric WCHAN,UID -H process hierarchy
うん、私たちが必要それらのオプション..テキストに対抗することなくangry fruit salad :)
http://procps.sourceforge.net/は、Linuxシステムで使用されるpsのバージョンのソースコードを持っています。それを調べることはあなたにとって有用かもしれません。
このプロジェクトは死亡したようです。新しいプロジェクトはhttps://gitlab.com/procps-ng/procpsです – dolmen
/proc
ファイルシステムを解析して、実行中のプロセスのリストを調べることができます。
procpsのコードを確認してください。それはあなたにこれを行う方法のいくつかのアイデアを与えるはずです。
これらのプログラムで行われたsyscallのシーケンスを調べるのに役立ちます。これを行うにはstrace
を使用してください。私はps
が行うことは、/proc
を通してすべてのプロセスとその情報を収集していると思います。
procpsのサイトをご覧になり、コードをダウンロードしてどのように行ったかを見てください。
psがどのように情報を取得しているかは標準的ではありません(実際には、オペレーティングシステムファミリごとに異なる方法で実行されます)。このように、新しいOSごとに新しいリリースごとに変更される可能性があります。 psが提供する情報が必要な場合は、実際にpsを呼び出して出力を解析することを検討する必要があります。はい、私はそのような方法で作業が醜いとプロのように見えるが、それは多くのアプリケーションではかなりlovelyですが、実際にはかなりクロスプラットフォームで、psの出力形式が将来変更される可能性は低いです)それはpsが情報を取得する方法が変わるかもしれないからです。
- 1. コード分析 - CA1704:Microsoft.Naming::「Psの」
- 2. Cコード内のsyslogコマンド
- 3. C++ Beginner - コード内のコマンドとして 'error'
- 4. unix psコマンドでTTYの意味は何ですか?
- 5. psコマンドでZ +の結果はどうなりますか?
- 6. PSをPDFに変換してC#
- 7. Unix/LinuxコマンドpsでS-output-modifierを使用するには?
- 8. emacs ps-print-bufferコマンド中国文字エラーmac os
- 9. psコマンドの結果からプロセスを隠すためのプログラムを書く
- 10. HTTPClientコードのCURLコマンド
- 11. JavaScriptコードのgetOptionコマンド
- 12. ps --Filterが-H
- 13. psでの脅威スレッド(cで書かれたスレッドプログラムの場合)
- 14. ps -A |と同等です。 Windowsのgrep -cプロセス?
- 15. doc/docx to postscript/ps
- 16. 特定のエンコードでCコードからpythonコマンドを実行
- 17. AIXのmpstatコマンドのコード
- 18. CコードへのObjective-Cコード
- 19. memcpyコマンドでC
- 20. ffmpegコマンドをC#
- 21. CソケットPingコマンド?
- 22. Linux ps出力フォーマット仕様
- 23. Cのパイプ、フォーク、シェルのコマンド
- 24. Cプログラムのgdbへのコマンド
- 25. Ploblem(表示pr0cess)のPSのLinux]
- 26. AndroidのネイティブCコードでシステム関数のcp(Copy)コマンドを使用する方法
- 27. このコマンドの実行方法 "check_ping -H 192.168.1.2 -w 100.0,90%-c 200.0,60%" Javaコードから?
- 28. Cシェルスクリプト - コマンドの検索
- 29. > out.txtコマンドの使用C#
- 30. C#.NETのロールバックINSERTコマンド
お探しのものをご指定ください。 –
私は彼女がプロセスのリストを与えるコマンドのようにpsを意味すると思いますか? –
Linuxはオープンソースで、psコマンドのソースを読んだだけです。 – a2800276