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'
。説明が必要ですか?