How to determine the socket connection up time on Linux
阿新 • • 發佈:2021-10-20
PEEID=$(sudo pgrep -u root ) && for device in `sudo lsof -anP -i -u root | grep ':9814' | awk '{print $6}'` ; do echo "${device} time" ; sudo find /proc/1/fd -lname "socket:\[${device}\]" -printf %t\\n 2> /dev/null ; echo ; done
This questions was helpful to me, but I found usinglsof
instead ofnetstat
For a process${APP}
run by user${USER}
, the following returns all the open sockets to the IP address ${IP}:
PEEID=$(sudo pgrep -u ${USER} ${APP}) && for i in `sudo lsof -anP -i -u logstash | grep ${IP} | awk '{print $6}'` ; do echo "${device} time" ; sudo find /proc/${PEEID}/fd -lname "socket:\[${device}\]" -printf %t 2> /dev/null ; echo ; done
Thelsof
contains thePID
too, but I am not sure how to get it and the device number.
This was tested on Amazon Linux.
-- Scott, Programmer in Beijing [If you can’t explain it to a six year old, you don’t understand it yourself. —Albert Einstein ]