#!/usr/bin/bash

PID=$1
[[ $PID ]] || exit 17
[[ /proc/$PID ]] || exit 16
grep -q libre2pdf /proc/$PID/cmdline 2>/dev/null || exit 15 

connRE='(127.0.0.1:[[:digit:]]+)->(127.0.0.1:[[:digit:]]+)'
lsof -n -P -i -a -p $PID | while read COMMAND   PID USER   FD   TYPE DEVICE SIZEOFF NODE NAME STATE ; do
    [[ $COMMAND = COMMAND ]] && continue
    echo NAME=$NAME
    if [[ $NAME =~ $connRE ]] ; then
        LOCAL=${BASH_REMATCH[1]}
        REMOTE=${BASH_REMATCH[2]}
        echo LOCAL=$LOCAL
        echo REMOTE=$REMOTE
        lsof -n -P -sTCP:ESTABLISHED -i@$REMOTE -a -p^$PID | while read cmd pid user ; do
            [[ $cmd = COMMAND ]] && continue
            echo Remote PID=$PID
            kill $PID
        done
    fi
done
