【发布时间】:2020-08-10 09:23:41
【问题描述】:
我有一个名为 run.sh 的 bash 脚本,它启动两个 python 脚本 meter_1.py 和 meter_2.py
#!/bin/sh
./meter_1.py &
./meter_2.py &
当脚本运行时,我使用命令搜索脚本的 PID
ps -aux | grep python
输出是
openhab+ 9328 84.0 1.6 25320 16580 pts/0 R 22:23 0:04 python ./meter_1.py
openhab+ 9329 84.6 1.6 25320 16596 pts/0 R 22:23 0:04 python ./meter_2.py
使用 pgrep 命令我可以得到 PID
>pgrep python
9328
9329
但是我可以运行多个 python 脚本,我想通过它运行的脚本获取进程 ID 名称,而不是基于它是否是 python。
例如:
>pgrep python" "./meter_1.py
9328
pgrep 中是否有此功能?以下似乎可行,但最好只取回进程 ID。
>ps -aux | grep python" "./meter_1.py
openhab+ 9328 84.0 1.6 25320 16580 pts/0 R 22:23 0:04 python ./meter_1.py
【问题讨论】:
-
添加
-l选项或与-a结合 -
不幸的是
-l刚刚放弃了<PID> python。
标签: linux bash command-line grep