PS がプロセス情報をプログラム的に決定するために使用している C は何ですか?

PS がプロセス情報をプログラム的に決定するために使用している C は何ですか?

Linux と Macos の両方で、bash: を使用して PID 情報と開始時刻を取得できますps -p PID_HERE -o lstart=

私はそれを使用するつもりで計画していましたlstat。しかし、単なる好奇心から:

プログラム的にps使用する必要がありますか? 私の使用状況では、開いて読み取るC必要がないため、C 関数を使用する方がはるかに高速です。popen

MacOSX/Darwin では、どうやら と呼ばれるものが使用されているようでproc_pidinfo、SO のトピックでその方法が説明されています。Darwin/OSX でプログラム的にプロセス情報を決定する

しかし、Linux ではどうでしょうか? 私たちの場合、そのようなものは見つかりませんでしたproc_pidinfo

ありがとう!

答え1

によると 複数 回答psstackoverflowでは、proc ファイルシステムを通してライブラリプロシージャlstat(2)プロセス情報を収集します。どうやらこれが推奨される方法のようですので、プロセスの開始時刻を確認するにはこれが正しい方法だと思います。

関連情報