Sto usando CentOS 7. Voglio ottenere il PID (se esiste) del processo in esecuzione sulla porta 3000. Vorrei ottenere questo PID allo scopo di salvarlo in una variabile in uno script di shell. Finora l'ho fatto
[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))
ma non riesco a capire come isolare il PID da solo senza tutte queste informazioni extra.
ss
senza di questa opzione. Dovrebbe funzionare anche senza di essa: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'
. Hai bisogno di spiegazioni?