我的脚本接受一个进程名称作为输入并终止它。我尝试使用 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)