Używam CentOS 7. Chcę uzyskać PID (jeśli taki istnieje) procesu działającego na porcie 3000. Chciałbym uzyskać ten PID w celu zapisania go w zmiennej w skrypcie powłoki. Do tej pory mam
[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))
ale nie mogę wymyślić, jak samodzielnie wyodrębnić PID bez tych wszystkich dodatkowych informacji.
ss
bez tej opcji. Powinien działać nawet bez niego: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'
. Potrzebujesz wyjaśnienia?