javaw 在后台运行
https://blog.51cto.com/u_16213338/9358807
javaw -jar 启动在后台运行
tcping
https://blog.51cto.com/u_15402405/5170628
https://elifulkerson.com/projects/tcping.php
命令查询指定端口的占用情况:
lsof -i:<port>
其中,<port>
是要查询的端口号。如果该端口被占用,则会返回相应的进程信息。
如果需要关闭该进程,则可以使用 kill
命令。假设 lsof
命令返回的进程 ID 为 <pid>
,则可以使用以下命令杀死该进程:
kill <pid>
如果没有权限杀死该进程,则可以使用 sudo kill <pid>
命令。
Shell 脚本来实现这个功能。以下是一个简单的示例:
#!/bin/bash
ports=(8080 9000 5432)
# 检查指定端口是否被占用
check_port() {
lsof -i :$1
}
# 杀死指定端口的进程
kill_process() {
pid=$(lsof -ti :$1)
if [[ -n "$pid" ]]; then
echo "Found process with PID $pid on port $1. Killing the process..."
kill $pid
echo "Process killed."
else
echo "No process found on port $1."
fi
}
for port in "${ports[@]}"; do
check_port $port
if [[ $? -eq 0 ]]; then
echo "Port $port is already in use."
kill_process $port
else
echo "Port $port is free."
fi
done
保存上述代码到一个文件中,比如 check_and_kill.sh,并为脚本添加执行权限 (chmod +x check_and_kill.sh
)。
然后,在命令行中运行脚本 (./check_and_kill.sh),它会遍历 ports 数组中的所有端口,检查它们是否被占用,如果有占用则关闭对应的进程。如果端口没有被占用,则会打印相应的信息。
文档更新时间: 2024-07-23 10:38 作者:admin