pgrep 不返回基于模式的进程

问题描述

当我使用 ps -a 获取进程列表时,我得到以下响应:

PID   USER     TIME  COMMAND
    1 root      0:03 dotnet Api/bin/Api.dll
   46 root      0:02 /usr/share/dotnet/dotnet /usr/share/dotnet/sdk/3.1.410/MSBuild.dll /usr/share/dotnet/sdk/3.1.410/MSBuild.dll /nologo /no
   61 root      0:02 /usr/share/dotnet/dotnet /usr/share/dotnet/sdk/3.1.410/MSBuild.dll /usr/share/dotnet/sdk/3.1.410/MSBuild.dll /nologo /no
   76 root      0:01 /usr/share/dotnet/dotnet /usr/share/dotnet/sdk/3.1.410/MSBuild.dll /usr/share/dotnet/sdk/3.1.410/MSBuild.dll /nologo /no
  357 root      0:00 sh
  817 root      0:00 ps

现在我想获取运行 PID 的任何进程的 Api.dll。我使用pgrep

pgrep dotnet

它返回很多行,因为很多命令都包含 dotnet

但是一旦我将该模式更改为更具体,它就不会返回任何内容

pgrep "dotnet\s*Api" pgrep Api

两者都返回空结果。

我做错了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)