top
実行中のプロセスを表示するコマンドがあります。フィールドに固有の値のソートされたリストを印刷したいと思いますCOMMAND
。これには解決策があります。
$ top -b -n 1 | tail -n+8 | awk '{print $12}' | cut -d'/' -f 1 | sort | uniq
ただし、このコマンドはこの単純な目的に比べて冗長すぎます。これにもっと簡単な解決策がありますか?
添付:ps
代わりに使用できますが、top
返される形式がうるさいです。chrome
vs /opt/google/chrome/chrome --type=renderer --enable- features=LinuxObsoleteSystemIsEndOfTheLine<LinuxObsoleteSystemIsEndOfTheLine --lang=en-US --force-
... コマンドの先頭に過ぎません。
答え1
この内容をよくお読みくださいps
。
これは興味深いスタートかもしれません。
ps -eo comm=,
または
ps -eo cmd=,
あなたはおそらく最初のものが欲しいでしょう。
非常に細かく制御するには、すべての数字が表示されます。行を読むか、角かっこの間Name
の/proc/nnnnnn/status
文字列を解析します。完全なコマンドラインでは、ファイルのNULバイトを読み取り、空白文字に変換します。stat
nnnnn
/proc/nnnnnn/cmdline
ps
BSD(このエコシステムの一部として提供されています)は、Linuxバージョン(procps-ngプロジェクトでLinuxに提供されています)とは少し異なり、オプションは両方の間で少し異なると解釈されます。 *BSDを使ったことがある場合は注目に値します。