【问题标题】:Why doesn't pgrep find my process if I supply too long a search term?如果我提供的搜索词太长,为什么 pgrep 找不到我的进程?
【发布时间】:2016-06-15 10:51:54
【问题描述】:

谁能解释为什么我的pgrep 命令最初会找到一个结果,但如果我给它提供太多搜索词就会感到困惑?

james@jheather:~$ pgrep -a gnome-keyr
2652 /usr/bin/gnome-keyring-daemon --daemonize --login
james@jheather:~$ pgrep -a gnome-keyri
2652 /usr/bin/gnome-keyring-daemon --daemonize --login
james@jheather:~$ pgrep -a gnome-keyrin
2652 /usr/bin/gnome-keyring-daemon --daemonize --login
james@jheather:~$ pgrep -a gnome-keyring
2652 /usr/bin/gnome-keyring-daemon --daemonize --login
james@jheather:~$ pgrep -a gnome-keyring-
2652 /usr/bin/gnome-keyring-daemon --daemonize --login
james@jheather:~$ pgrep -a gnome-keyring-d
2652 /usr/bin/gnome-keyring-daemon --daemonize --login
james@jheather:~$ pgrep -a gnome-keyring-da
james@jheather:~$ pgrep -a gnome-keyring-dae
james@jheather:~$ pgrep -a gnome-keyring-daem
james@jheather:~$ pgrep -a gnome-keyring-daemo
james@jheather:~$ pgrep -a gnome-keyring-daemon
james@jheather:~$ 

这是在 Ubuntu 16.04 上,pgrep 将其版本报告为 pgrep from procps-ng 3.3.10

【问题讨论】:

  • 您可能会觉得这很有帮助 - askubuntu.com/questions/157075/…
  • 我投票结束这个问题,因为它与 askubuntu.com/questions/157075/… 重复
  • @fedorqui,我已经回答了。如有需要,请提供任何 cmets。
  • @fedorqui:但它可能因与另一个 SE 站点相关而被关闭...
  • @SergeBallesta 它与两者都相关。事实证明,它在这里比在 Ask Ubuntu 上更适用,因为它不是特定于 Ubuntu 的。

标签: linux ubuntu grep


【解决方案1】:

来自Why does “ps aux | grep x” give better results than “pgrep x”? 中的Ask Ubuntu

pgrep 只查看可执行文件名称的前 15 个字符。

此外,如果您看到手册页,您可以通过提供 -f 标志来覆盖它。引用man pgrep:

用于匹配的进程名限制为 15 个字符 出现在 /proc/pid/stat 的输出中。使用 -f 选项进行匹配 针对完整的命令行 /proc/pid/cmdline。

【讨论】:

  • 疯疯癫癫!谢谢!
猜你喜欢
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
  • 2012-01-10
  • 2019-06-04
  • 2010-09-05
  • 2010-12-22
  • 2010-11-03
相关资源
最近更新 更多