web-dev-qa-db-ja.com

lsofのより高速な代替手段

特定のプロセスをシャットダウンするために、そのプロセスIDを抽出したいと思います。プロセスは特定のポート(localhost:3000)を使用するローカルWebサーバーであり、現在、関連する行を抽出するために次のように実行しています。

lsof|grep localhost:3000

しかし、lsofコマンドは遅すぎます。プロセスIDを抽出するより速い方法はありますか?

8
sawa

Netstatを試してみてください。ただし、速いか遅いかはわかりません。

netstat -tanp | awk '$4 ~ /:8443$/ {sub(/\/.*/, "", $7); print $7}' | sort -u
7
Nikhil Mulley

Lsofに-nオプションを設定すると、DNS解決が削除され、表示が高速化されます。

11
Dom
Sudo ss -p -l '( sport = :3000 )'|awk -F"," 'NR!=1{print $2}'

これにより、3000でリッスンしているプロセスのPIDが出力されます。

timeは、これが0分0.018秒で完了したことを報告します。

2
Jodie C