Una instrucción para resolver el método de eliminar el proceso del puerto especificado en Linux y Windows (con scripts de Shell y Batch)

prefacio

En el desarrollo diario y la administración de sistemas, a menudo nos encontramos con situaciones en las que necesitamos finalizar un proceso en un puerto específico. Este artículo presentará cómo utilizar un comando para finalizar el proceso del puerto especificado en los sistemas Linux y Windows, y también proporcionará ejemplos de scripts de Shell y scripts por lotes correspondientes para lograr operaciones más convenientes.

Solución en Linux:

En los sistemas Linux, puede utilizar killel comando para finalizar un proceso en un puerto específico. El siguiente es un ejemplo de un comando combinado con lsofel comando, que encontrará 8080el proceso del puerto especificado (por ejemplo) y lo eliminará: ( : la siguiente operación raíz completa, operación no raíz, agregue sudo usted mismo)

kill -9 `lsof -ti:8080`

En este comando, lsof -ti:8080se encontrará el ID del proceso que escucha en el puerto 8080y luego se pasará al kill -9comando para finalizar el proceso. Este método es simple y eficiente y se puede realizar con un solo comando.

Guión de shell:

Si desea encapsular esta operación en un script de shell para uso repetido, puede crear un kill-port.sharchivo con el siguiente nombre:

#!/bin/bash

if [ $# -ne 1 ]; then
  echo "Usage: $0 <port>"
  exit 1
fi

port=$1
kill -9 $(lsof -ti :$port)

Al ejecutar chmod +x kill-port.shel comando, el script recibe permiso de ejecución y luego ./kill-port.sh 8080dicho comando se puede usar para finalizar el proceso del puerto especificado.

La operación de demostración es la siguiente:

inserte la descripción de la imagen aquí
A través del comando anterior verifique la ocupación del puerto 8080. lsof -i :8080Aquí, LZ ingresa deliberadamente un parámetro adicional al usar el script param2. La verificación en el script ifle indicará cómo utilizar el script. Después de finalizar el proceso, use el comando nuevamente lsof -i :8080para verificar si el puerto 8080 está finalizado.

Solución en Windows:

En el sistema Windows, ábralo cmd(preferiblemente ejecútelo como administrador), puede usar netstatel comando para encontrar el ID del proceso correspondiente al puerto y luego usar taskkillel comando para finalizar el proceso. A continuación se muestra un comando de ejemplo que combina los dos comandos para finalizar 8080un proceso en el puerto:

for /f "tokens=5" %%a in ('netstat -ano ^| findstr :8080') do taskkill /F /PID %%a

Guión por lotes:

Haga doble clic con el mouse para ejecutar el script, el usuario ingresa al puerto de proceso especificado, presiona Enter y espera tres segundos para cerrar cmdla ventana automáticamente. Por ejemplo, para cerrar 9060el puerto 步骤: (1. Cree un archivo txt -> 2. Copie el siguiente contenido del script -> 3. Cambie el sufijo del archivo .bat-> haga doble clic en el script para ejecutarlo). El contenido del guión es el siguiente:

@echo off
chcp 65001

set/p port=kill-port:
echo port : %port%

set pid=
set executableFile=
for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do (
    if [%%d] EQU [LISTENING] (
        set pid=%%e
    )
)

if "%pid%"=="" (
    echo 未找到监听端口为 %port% 的进程,无需终止。
) else (
    for /f "usebackq tokens=1-5" %%a in (`tasklist ^| findstr %pid%`) do (
        set executableFile=%%a
    )
    echo 现在将终止进程:pid %pid%,可执行文件:%executableFile%
    taskkill /f /pid %pid%
)

timeout /t 3 /nobreak > nul

chcp 65001Configure el formato UTF-8 en el script actual para garantizar que los caracteres chinos no estén confusos, timeoutcomando, para que se pueda ver la información del mensaje.

La operación de demostración es la siguiente:

  1. 成功终止操作显示如下:
    inserte la descripción de la imagen aquí

  2. 无需终止操作显示如下:
    inserte la descripción de la imagen aquí

Resumir:

A través de los métodos y ejemplos presentados en este artículo, puede finalizar fácilmente el proceso del puerto especificado en sistemas Windows y Linux, lo que mejora la eficiencia y conveniencia de las operaciones. Ya sea que ejecute un comando directamente en la línea de comando o use un script para encapsular la operación, puede administrar el proceso de manera más eficiente y garantizar el funcionamiento normal del sistema.

Supongo que te gusta

Origin blog.csdn.net/Da_zhenzai/article/details/132595516
Recomendado
Clasificación