Estoy usando CentOS 7. Quiero obtener el PID (si existe) del proceso que se ejecuta en el puerto 3000. Me gustaría obtener este PID con el fin de guardarlo en una variable en un script de shell. Hasta ahora tengo
[rails@server proddir]$ sudo ss -lptn 'sport = :3000'
State Recv-Q Send-Q Local Address:Port Peer Address:Port
Cannot open netlink socket: Protocol not supported
LISTEN 0 0 *:3000 *:* users:(("ruby",pid=4861,fd=7),("ruby",pid=4857,fd=7),("ruby",pid=4855,fd=7),("ruby",pid=4851,fd=7),("ruby",pid=4843,fd=7))
pero no puedo entender cómo aislar el PID por sí solo sin toda esta información adicional.
ss
sin esta opción. Debería funcionar incluso sin él:sudo ss -lptn "sport = :22" | awk -F " " '{printf $6}' | sed 's/.\+pid=\([0-9]\+\).\+/\1/g'
sudo ss -lptnH "sport = :22" | awk -F " " '{printf $6}' | sed 's/.\+pid=\([0-9]\+\).\+/\1/g'
. ¿Necesitas explicación?