pgrep

当通过其他命令管道传输时,pgrep 将返回额外的进程
pgrep

当通过其他命令管道传输时,pgrep 将返回额外的进程

这是一个非常奇怪的问题,关于使用 pgrep 搜索哪些 shell 进程正在运行与当前脚本相同的脚本。 以下是测试脚本测试文件 #!/bin/bash full_res=`pgrep -a -l -f 'test\.sh'` res=$(pgrep -a -l -f 'test\.sh' | cat) echo "short result is $full_res" echo "weird result is $res" 输出为 sh test.sh & [1] 19992 ➜ logs short result is 19992 sh ...

Admin

pgrep 搜索多个词
pgrep

pgrep 搜索多个词

我用它pgrep来查找正在运行的进程,其中包含一些单词 > pgrep -f "otp" 2345 2343 识别出多个进程。命令行中还有另一个词可以帮助我找到确切的进程。因此,我想搜索两个词,并且两个词都应该在那里。不幸的是,我只看到了 OR 组合的示例和帮助,如下所示: > pgrep -f "otp|place1" 2345 2343 3632 这不起作用,因为它是 OR 条件。我的搜索模式中需要一个 AND 条件。 pgrep 参考:https://linux.die.net/man/1/pgrep pattern:...

Admin

如何使用 pgrep 查找特定的 PHP 进程(与 monit 相关)
pgrep

如何使用 pgrep 查找特定的 PHP 进程(与 monit 相关)

我在后台运行了许多 php 进程,monit 负责管理它们。我当前的 monit 配置如下: check process myprocess1 matching "process1.php" start program = "/usr/bin/php /path/to/process1.php > /var/log/process1.log" stop program = "/usr/bin/pkill /path/to/process1.php" (再次提醒,有多个进程与此类似。)这适用于启动进程,但不能用于...

Admin

ppet onlyif 与 pgrep 不起作用
pgrep

ppet onlyif 与 pgrep 不起作用

我只想在 Puppet 的进程未运行时使用 exec exec { "execute me": onlyif => "pgrep -fc 'ruby execute.rb'", command => "execute me", } 因此,在上述情况下,如果进程“ruby execute.rb”已在运行,则 exec 不应运行为 pgrep -fc 'ruby execute.rb' will return 1. 然而 该命令似乎总是在 puppet 中运行。 在我的 Linux 机器上,当我执行 pgrep ...

Admin

这么多 Apache 实例正常吗?
pgrep

这么多 Apache 实例正常吗?

2.2.8-1ubuntu0.15我们在 VPS 实例上运行 Apache 版本Ubuntu 8.04.4 LTS \n \l,这是我通过询问确定的这个问题。 当我发出时pgrep apache2,我得到以下信息: 2691 24517 25330 25669 25672 25795 25796 25809 25825 26401 26402 有 11 个独立实例apache2!这正常吗?如果不正常,我该怎么办? ...

Admin

为什么 pidof 和 pgrep 从 OpenSuse 15.5 中删除?
pgrep

为什么 pidof 和 pgrep 从 OpenSuse 15.5 中删除?

在 openSuse Leap 15.5 中,没有提供 pidof 的软件包吗? SysVinit-tools 软件包以前是操作系统捆绑包的一部分,但在 15.5 中被删除。那么,是否有任何替代方案无需安装 sysVinit 软件包(或)需要手动安装软件包? 还有其他发行版也计划删除该软件包(sysvinit-tools)吗? ...

Admin

为什么“pgrep -O 600”在 LXC 中失败?程序错误?
pgrep

为什么“pgrep -O 600”在 LXC 中失败?程序错误?

非特权 LXC (proxmox) 中的 Debian 12.2。现在已经是当地时间上午 11 点 45 分左右了。早上 5:00,cron 启动了一个脚本: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND jan 26633 0.0 0.0 8500 2056 ? S 05:00 0:00 /usr/sbin/CRON -f 我正在使用 pgrep pgrep -f CRON -O 600,并且我希望 pgrep ...

Admin

如何使用 pgrep (或其他工具)查找同名的多个进程之一?
pgrep

如何使用 pgrep (或其他工具)查找同名的多个进程之一?

我有几个正在运行的 bash 脚本。它们之间唯一不同的是 pid。我想写一个像这样的脚本这只监视一个特定的 bash 进程并排除任何子进程。我见过这问题,但在这种情况下,进程名称不同,您只需编写精确的正则表达式即可。 目前,如果我这样做 % pgrep bash 40583 47095 48133 49244 如果我这样做 % pgrep -P 47095 47099 50151 我想做类似的事情 % pgrep bash -P 47095 然后得到结果 47095 # (i.e. no daughte...

Admin

如何防止“pgrep”将其检查的表达式视为包含其参数?
pgrep

如何防止“pgrep”将其检查的表达式视为包含其参数?

我有以下脚本;如果它没有运行,它应该启动一个进程: $ cat keepalive_stackexchange_sample.bash #!/bin/bash -xv # This script checks if a process is running and starts it if it's not. # If the process is already running, the script exits with exit code 0. # If the process was restarted by the script, the scr...

Admin

查找除这些特定进程之外的所有进程
pgrep

查找除这些特定进程之外的所有进程

是否有一个ps选项pgrep或标准实践可以让我列出计算机上所有正在运行的进程,除了一些我不想看到的特定进程? 换句话说——假设我有四个进程正在运行 % ps PID TTY TIME CMD 26712 ttys000 0:00.45 -zsh 28228 ttys001 0:00.23 -zsh 42083 ttys002 0:00.11 -zsh 42396 ttys002 0:00.16 node 我有一个包含一些进程 ID 的文本文件 % cat /tmp/no-interest.txty 2671...

Admin

$(pgrep -f) 脚本内的行为会根据 shebang 发生变化
pgrep

$(pgrep -f) 脚本内的行为会根据 shebang 发生变化

当我运行以下脚本时: #!/bin/bash $(pgrep -u ubuntu -f ${1} > /dev/null) echo "CURRENT_STATUS="${?} 和: ./my_script.sh top 当top不运行时,它返回: CURRENT_STATUS=0 这很奇怪,因为我预计会出现1退出状态pgrep。当我从脚本中删除 shebang 时,它会按预期工作。 有人可以帮助我了解这里发生了什么吗? 这是在 Ubuntu 22.4.1 系统上。另请注意,这$(...)不会改变结果。 我注意到这pgrep似乎与自身匹配,这就是...

Admin

为什么 pgrep 找不到 systemd-resolved?
pgrep

为什么 pgrep 找不到 systemd-resolved?

#!/usr/bin/env bash echo "pgrep not finding systemd-resolved has bitten many times." if [ -z $(pgrep systemd-resolved) ]; then echo -e "systemd-resolved not found by pgrep, trying another way.\n"; ps aux | egrep -i '(DNS|HOST|DH|RESOLV|systemd-resolved)' | egrep -v 'grep -E'...

Admin