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 kill
la commande pour terminer un processus sur un port spécifié. Voici un exemple de commande combinée avec lsof
la commande, qui trouvera 8080
le 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:8080
sur le port sera trouvé 8080
, puis transmis à kill -9
la 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.sh
fichier 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.sh
la commande, le script reçoit l'autorisation d'exécution, puis ./kill-port.sh 8080
une telle commande peut être utilisée pour arrêter le processus du port spécifié.
L’opération de démonstration est la suivante :
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 if
vous demandera comment utiliser le script. Après avoir tué le processus, utilisez à nouveau la commande lsof -i :8080
pour 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 netstat
la commande pour trouver l'ID de processus correspondant au port, puis utiliser taskkill
la commande pour terminer le processus. Voici un exemple de commande qui combine les deux commandes pour tuer 8080
un 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 cmd
automatiquement la fenêtre. Par exemple, pour tuer 9060
le 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 65001
Définissez le format UTF-8 dans le script actuel pour garantir que les caractères chinois ne sont pas tronqués, timeout
commande, afin que les informations d'invite puissent être vues.
L’opération de démonstration est la suivante :
-
成功终止操作显示如下
:
-
无需终止操作显示如下
:
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.