小编gre*_*orn的帖子

Pgrep 返回多个 PID

我的脚本接受一个进程名称作为输入并终止它。我尝试使用 pgrep 但它返回了两个 PID,一个用于正在运行的进程,另一个用于接受进程名称作为输入的脚本,所以我卡住了!我也尝试使用该pgrep -fo选项,但这也无济于事。任何的意见都将会有帮助。这是我的脚本

#!/bin/bash
ProcessName=$1

pID= pgrep -fl $ProcessName

echo $pID
Run Code Online (Sandbox Code Playgroud)

因此,当我调用脚本时,它会返回两个 PID:

bash-3.00$ ./dynamic_values.sh test-Process

10534 /xxx/xxo/xxx/xxe --run --propFile /application/test/test-Process_Archive.tra --innerProcess
23401 /bin/bash ./dynamic_values.sh test-Process
Run Code Online (Sandbox Code Playgroud)

我期待只有 10534,但它也拿起了脚本。操作系统版本以防万一:

bash-3.00$ uname -a
Linux xxxxxx 2.6.9-67.0.1.
Run Code Online (Sandbox Code Playgroud)

bash shell-script

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

shell-script ×1