次のコマンドがどのように機能するかを理解しようとしています(ここから):
<!-- language: lang-bash -->
pfiles /proc/* 2>&- |
nawk 'END {
if (f) print p
}
/^[0-9]/ {
if (f) print p, RS
p = $0
f = 0
}
/INET / {
sub(/.*INET/,"")
p = p ? p RS $0 : $0
f = 1
}'
このコマンドは (SOLARIS 5.10 で) うまく機能し、プロセスによって開かれたすべてのポートを表示します。
pfiles /proc/*
/proc/ ファイルシステムを照会することにより、すべてのプロセスに関連する一連の出力が表示されることを理解しています。マンページから:
pfiles Report fstat(2) and fcntl(2) information
for all open files in each process. In
addition, a path to the file is reported
if the information is available from
/proc/pid/path. This is not necessarily
the same name used to open the file. See
proc(4) for more information.
pfiles からの出力は、nawk ('New Awk') によって処理されます。
質問
- 次のコマンドで、NAWK が pfiles の出力をどのように処理しているか説明していただけますか?
f
パラメータ、p
およびがどのように機能するかを知ることは最も役に立ちます$0
。 - 最初の行で、標準エラーのリダイレクトとは
&-
どういう意味ですか? 標準エラーストリームが閉じられているということですか?