#!/usr/bin/env bash #------------------------------------------------------------------------------# # # Zeigt die PIDs aller offenen Prozesse an, # die eine Datei in einem Verzeichnis offen hält # #------------------------------------------------------------------------------# if [ -d "${1}" ] ; then unset PID PID="$(fuser -c "${1}" 2>&1 | tr -s '[ \t]' '\n' | sed -e 's/[a-zA-Z]*$//g' | grep -E '^[0-9]' | tr -s '\n' '|' | sed -e 's/|$//;s/|/ | /g;s/.*/ & /')" #----------------------------------------------------------------------# if [ "x${PID}" = "x" ] ; then echo "frei PID='${PID}'" else echo "offen PID='${PID}'" ps alx | grep -Fv grep | grep -E "${PID}" fi #----------------------------------------------------------------------# else echo "${0} [Verzeichnis]" echo "${0} /tmp" fi #------------------------------------------------------------------------------#