CentOS 7을 사용하고 있습니다. 포트 3000에서 실행중인 프로세스의 PID (있는 경우)를 가져오고 싶습니다. 쉘 스크립트의 변수에 저장하기 위해이 PID를 가져오고 싶습니다. 지금까지
[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))
그러나이 모든 추가 정보없이 PID를 자체적으로 분리하는 방법을 알 수는 없습니다.
ss
이 옵션이없는 오래된 것일 수도 있습니다 . 그것 없이도 작동해야합니다.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'
. 설명이 필요하십니까?