Une instruction pour résoudre la méthode de suppression du processus de port spécifié sous Linux et Windows (avec des scripts Shell et Batch)

avant-propos

Dans le développement quotidien et l'administration système, nous rencontrons souvent des situations dans lesquelles nous devons mettre fin à un processus sur un port spécifique. Cet article expliquera comment utiliser une commande pour arrêter le processus du port spécifié sous les systèmes Linux et Windows, et fournira également des exemples de script Shell et de script Batch correspondants pour réaliser des opérations plus pratiques.

Solution sous Linux :

Sur les systèmes Linux, vous pouvez utiliser killla commande pour terminer un processus sur un port spécifié. Voici un exemple de commande combinée avec lsofla commande, qui trouvera 8080le processus du port spécifié (par exemple) et le tuera : ( : l'opération root complète suivante, opération non root, veuillez ajouter sudo par vous-même)

kill -9 `lsof -ti:8080`

Dans cette commande, l'ID du processus écoutant lsof -ti:8080sur le port sera trouvé 8080, puis transmis à kill -9la commande pour terminer le processus. Cette méthode est simple et efficace, et peut être réalisée avec une seule commande.

Script shell :

Si vous souhaitez encapsuler cette opération dans un script shell pour une utilisation répétée, vous pouvez créer un kill-port.shfichier nommé avec le contenu suivant :

#!/bin/bash

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

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

En exécutant chmod +x kill-port.shla commande, le script reçoit l'autorisation d'exécution, puis ./kill-port.sh 8080une telle commande peut être utilisée pour arrêter le processus du port spécifié.

L’opération de démonstration est la suivante :

insérer la description de l'image ici
Vérifiez l'occupation du port 8080 via la commande ci lsof -i :8080- dessus.Ici, LZ entre délibérément un paramètre supplémentaire lors de l'utilisation du script param2. La vérification dans le script ifvous demandera comment utiliser le script. Après avoir tué le processus, utilisez à nouveau la commande lsof -i :8080pour vérifier si le port 8080 est supprimé

Solution sous Windows :

Dans le système Windows, ouvrez-le cmd(exécuté de préférence en tant qu'administrateur), vous pouvez utiliser netstatla commande pour trouver l'ID de processus correspondant au port, puis utiliser taskkillla commande pour terminer le processus. Voici un exemple de commande qui combine les deux commandes pour tuer 8080un processus sur le port :

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

Script batch :

Double-cliquez sur la souris pour exécuter le script, l'utilisateur entre dans le port de processus spécifié, appuyez sur Entrée et attend trois secondes pour fermer cmdautomatiquement la fenêtre. Par exemple, pour tuer 9060le port 步骤: (1. Créez un fichier txt —> 2. Copiez le contenu du script suivant —> 3. Modifiez le suffixe du fichier .bat—> double-cliquez sur le script pour l'exécuter). Le contenu du script est le suivant :

@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 65001Définissez le format UTF-8 dans le script actuel pour garantir que les caractères chinois ne sont pas tronqués, timeoutcommande, afin que les informations d'invite puissent être vues.

L’opération de démonstration est la suivante :

  1. 成功终止操作显示如下
    insérer la description de l'image ici

  2. 无需终止操作显示如下
    insérer la description de l'image ici

Résumer:

Grâce aux méthodes et exemples présentés dans cet article, vous pouvez facilement terminer le processus du port spécifié sous les systèmes Windows et Linux, ce qui améliore l'efficacité et la commodité des opérations. Que vous exécutiez une commande directement sur la ligne de commande ou que vous utilisiez un script pour encapsuler l'opération, vous pouvez gérer le processus plus efficacement et assurer le fonctionnement normal du système.

Je suppose que tu aimes

Origine blog.csdn.net/Da_zhenzai/article/details/132595516
conseillé
Classement