J'utilise CentOS 7. Je veux obtenir le PID (s'il existe) du processus en cours d'exécution sur le port 3000. Je voudrais obtenir ce PID afin de le sauvegarder dans une variable dans un script shell. Jusqu'à présent, j'ai
[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))
mais je ne peux pas comprendre comment isoler le PID tout seul sans toutes ces informations supplémentaires.
ss
sans de cette option. Devrait fonctionner même sans: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'
. Avez-vous besoin d'explications?