特定のプロセスを終了するためにプロセスIDを抽出したいと思います。プロセスは特定のポート(localhost:3000)を使用するローカルWebサーバーであり、現在関連する行を抽出するためにこれを行っています。
lsof|grep localhost:3000
ところで、lsof
注文が遅すぎました。プロセスIDを抽出するより速い方法はありますか?
答え1
lsofに-nオプションを追加してからDNS解決を削除すると、表示速度が速くなる可能性があります。
答え2
netstatを試しましたが、より速いか遅いかわかりません。
netstat -tanp | awk '$4 ~ /:8443$/ {sub(/\/.*/, "", $7); print $7}' | sort -u
答え3
sudo ss -p -l '( sport = :3000 )'|awk -F"," 'NR!=1{print $2}'
これにより、3000を受信するプロセスのPIDが印刷される。
time
これは0分0.018秒以内に完了すると報告されています。