我想提取某个进程的进程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
据报道,这在 0m0.018s 内完成。