Disce aut Discede
Add post
Use this script to find dead processes due to a futex call.
Another way would be using: ps -eo pid,wchan:32,command | grep "[f]utex"
And yet another way would be by using lslocks
#!/bin/bash test ! $UID -eq 0 && echo -e "WARNING: Not running as root, only processes for this user are being scanned\n" >&2 ; pids=$(ps -u $UID -opid --no-headers) sub_pid=$(($$+1)) for pid in $pids; do # subshell already exited before script done # so cat /proc/ will get error # cat: /proc/xxxxx/syscall: No such file or directory if [ "$sub_pid" != "$pid" ]; then cat /proc/$pid/syscall | awk "{if (\$1 == 202 && \$3 == \"0x0\") { print $pid }}"; fi # $1 is the syscall, we compare to 202 which is the futex call # See: /usr/include/asm/unistd.h # $2 is the 1st param, $3 is the 2nd param, etc # We compare the second param to 0x0 which is FUTEX_WAIT # See: /usr/include/linux/futex.h done