特定のプロセスをシャットダウンするために、そのプロセスIDを抽出したいと思います。プロセスは特定のポート(localhost:3000)を使用するローカルWebサーバーであり、現在、関連する行を抽出するために次のように実行しています。
lsof|grep localhost:3000
しかし、lsof
コマンドは遅すぎます。プロセスIDを抽出するより速い方法はありますか?
Netstatを試してみてください。ただし、速いか遅いかはわかりません。
netstat -tanp | awk '$4 ~ /:8443$/ {sub(/\/.*/, "", $7); print $7}' | sort -u
Lsofに-nオプションを設定すると、DNS解決が削除され、表示が高速化されます。
Sudo ss -p -l '( sport = :3000 )'|awk -F"," 'NR!=1{print $2}'
これにより、3000でリッスンしているプロセスのPIDが出力されます。
time
は、これが0分0.018秒で完了したことを報告します。