以下是一个 Bash 脚本示例,它将检查当前正在运行的所有 Python 进程,并列出具有相同路径的任何重复实例。
#!/bin/bash
# 获取所有 Python 进程的信息
procs=$(ps aux | grep python)
# 用 awk 命令分离路径
procs=$(echo "$procs" | awk '{print $11}')
# 将独特路径添加到一个数组中
declare -A unique_procs
for proc in $procs; do
    # 检查路径是否已经在数组中
    if [[ -z ${unique_procs[$proc]} ]]; then
        unique_procs[$proc]=1
    else
        unique_procs[$proc]=$((${unique_procs[$proc]}+1))
    fi
done
# 列出所有重复的 Python 实例
for proc in "${!unique_procs[@]}"; do
    if [[ ${unique_procs[$proc]} -gt 1 ]]; then
        echo "$proc (${unique_procs[$proc]} instances)"
    fi
done
该脚本将输出具有重复路径的 Python 实例的数量。例如,如果有两个 Python 进程都在 /usr/bin/python 下运行,则输出将如下所示:
/usr/bin/python (2 instances)