現在のセッションでアクティブなプロセスの開いているファイルを数える必要があります。ただし、通常のファイルのみです。psコマンドとlsofコマンドを「ミックス」する方法がわかりません。Lsofは、現在のセッションに属するプロセスを返しません。また、psを使用してアクティブなプロセスを一覧表示すると、lsofコマンドで検索するためにpidを保存する方法がわかりません。
質問する
63 次
現在のセッションでアクティブなプロセスの開いているファイルを数える必要があります。ただし、通常のファイルのみです。psコマンドとlsofコマンドを「ミックス」する方法がわかりません。Lsofは、現在のセッションに属するプロセスを返しません。また、psを使用してアクティブなプロセスを一覧表示すると、lsofコマンドで検索するためにpidを保存する方法がわかりません。
次のように、コマンド置換lsof
を使用してpidのコンマ区切りリストを渡すことができます。
lsof -p $(ps -o pid= | tr '\n' ',')
現在のプロセス(およびその親)のpidに環境変数を使用します:$$(、$ PPID)
lsof -R -p $$,$PPID
-Rは、lsofにPPID列を出力するように指示します