grepを使用せずに名前でプロセスを検索するにはどうすればよいですか?


62

あなたが使用できるプロセスを検索するためにpsgrep

たとえば、Firefoxを検索するには

ps aux | grep firefox

使用せずに同じ答えを得るにはgrep


1
ps/grepソリューションが非常にうまく機能していることを考えると、なぜあなたはこれをしたいのでしょうか?
ニューロネット

OPは私が推測するより短いコマンドを望んでいます。そのようなps -n <process name>ことがあれば、彼のニーズに答えます。ps -n firefoxは、より少し短いですps | grep firefox。ユーザーIDのpsフィルターpid処理またはプロセスを既に行うことができるため、プロセス名でフィルター処理するのは妥当な質問です。
Jochem Schulenklopper

回答:


71

pgrepコマンド、およびその兄弟はpkill、この目的のために正確に存在します。

  • pgrep firefox コマンドが一致するすべてのプロセスをリストします firefox
  • pgrep -f firefox コマンドライン全体が一致するすべてのプロセスをリストします firefox
  • pgrep -x firefox コマンドが完全に一致するすべてのプロセスをリストします firefox
  • ... 等々。

そして当然、pgrep試合から自分自身を除外するので、grep関連する儀式ps | grepは必要ありません。


このためのその他のツールセットはpidofand killallコマンドです。これらはpgrepやほど柔軟ではありませんpkill

  • pidof firefox コマンドが firefox

24
ps -fC process-name

例:

ps -fC firefox

から man ps

  -C cmdlist      Select by command name.
                       This selects the processes whose executable name is
                       given in cmdlist.


 -f              Do full-format listing. This option can be combined
                       with many other UNIX-style options to add additional
                       columns. It also causes the command arguments to be
                       printed. When used with -L, the NLWP (number of
                       threads) and LWP (thread ID) columns will be added. See
                       the c option, the format keyword args, and the format
                       keyword comm.

これが最良の答えですが、残念ながらOSXでは機能しません。BSD ps -Cフラグの動作は完全に異なります-「CPUパーセンテージの計算方法を変更する」
-mastaBlasta

2

top大文字を押すと文字列を検索できますL。プロセスが強調表示され、上下の矢印キーを使用してプロセスのリストをスクロールします。同様に、 htopコマンドを押すと、特定のプロセスを強調表示できます/。そして\、名前に特定の文字列を持つすべてのプロセスをフィルターします。

awkが好きな人のために、awk onelinerを紹介しますps -eF | awk '/process-name/ {print $11}' 。ではps -eF、プロセス名11列目に常にあります。あるいは、ps -eF | awk '{print $11}' | sortアルファベット順にソートされたプロセス名のソートされたリストを取得した場合。lessファイルの長いリストを簡単に表示するために、コマンドにパイプします。


2

クールなトリック

$ps -ejH

すべてのプロセスを名前で取得します

exmple:
1747   568   568 ?        00:00:00   colord
1833  1832  1832 ?        00:00:00   gnome-keyring-d
2263   568   568 ?        00:00:00   udisksd
2311  2311  2311 ?        00:00:00   cupsd
2315  2315  2311 ?        00:00:00     dbus

出力をファイルにリダイレクトまたはコピーしてからを開きnanoCtrl+ W を押すと、目的の名前を検索できます。


1

またhtop、F4を使用してからヒットすることにより、一致するユーザー定義の文字列で結果をフィルタリングできます。F3を押すと、カスタム検索機能も利用できます。


1

2つのプロセスに問題がある場合は、grep のみを使用できます。

grep firefox /proc/*/cmdline

0

私はこのpsエイリアスをLennart Poetteringブログで読みました。出力は、systemdコントロールグループのペアレント化に基づいています。

alias psc='ps xawf -eo pid,user,cgroup,args'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.