Реализация базовой логики в Python, вызываемой из функции оболочки (таким образом, требуется только один процесс против раскрутки нескольких отдельных инструментов):
pids_for_dir() {
python - "$@" <<'EOF'
import sys, os.path, glob
target = os.path.abspath(sys.argv[1])
for name in glob.glob("/proc/*/cwd"):
if os.path.abspath(name) == target:
print(name.split('/')[-2])
EOF
}
... вызывается из вашей оболочки как:
pids_for_dir /tmp