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