我正在尝试编写一个脚本来终止在特定端口上运行的服务。这是我的脚本:
a=$(ps ax | grep 4990 | grep java | awk '{print $1}')
kill -9 $a
Run Code Online (Sandbox Code Playgroud)
这是一个java程序。这个脚本有时有效,但大多数时候神秘地失败。
有没有其他方法可以杀死在端口上运行的服务?我的端口是4990.
cuo*_*glm 53
你可以试试fuser:
fuser -k 4990/tcp
Run Code Online (Sandbox Code Playgroud)
或者使用lsof获取进程ID,然后提供给kill:
kill $(sudo lsof -t -i:4990)
Run Code Online (Sandbox Code Playgroud)
小智 11
如果您想终止在端口号 8080 上运行的任何服务或进程,那么首先您需要找到 8080 端口进程标识号 (PID),然后将其终止。运行以下命令查找 8080 端口号 PID:
sudo lsof -t -i:8080
Run Code Online (Sandbox Code Playgroud)
这里,
因此,您现在可以使用以下命令轻松终止您的 PID:
sudo kill -9 <PID>
Run Code Online (Sandbox Code Playgroud)
这里,
您可以使用以下命令使用一个命令来终止特定端口上的进程:
sudo kill -9 $(sudo lsof -t -i:8000)
Run Code Online (Sandbox Code Playgroud)
有关更多信息,您可以查看以下链接 How to kill a process on a specific port on linux