我正在尝试创建一个shell脚本,在Ubuntu 14.10专用服务器上自动终止在给定端口中运行的进程。
据我所知,使用fuser -n tcp {port-number}
给出了在该端口中运行的进程的PID,例如:http://prntscr.com/81whib
另外,我知道kill -9 {PID}
会使用这样的PID杀死进程。
我怎样才能创建一个shell脚本来获取命令fuser -n tcp {port-number}
的输出并在命令kill -9 {PID}
中使用它?
感谢您的帮助。
答案 0 :(得分:0)
以下脚本允许您传入一个端口(例如./killProcess 25565
)并且只要存在PID就会终止该进程。
#!/bin/bash
PID=$(fuser -n tcp $1 | awk '{print $2}')
if [ ! -z "$PID" ]; then
kill -9 $PID
else
echo "No process is running on port $1"
fi
答案 1 :(得分:0)
您可以使用awk
操作fuser
的输出(使用端口139的示例):
pid=$(fuser -n tcp 139 | awk '{print $1}')
echo $pid
# kill -9 $pid , etc