(window / linux)命令行關閉一web(tomcat)服務


在window下如何殺死一個線程;
1.1. 方法一:根據pid  殺死線程
下面cmd  控制台的顯示的界面

C:\Users\aiju>netstat -ano|findstr 8080
  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       11940
  TCP    [::]:8080              [::]:0                 LISTENING       11940

C:\Users\aiju>taskkill /pid 11940 -t -f


成功: 已終止 PID 11940 (屬於 PID 2780 子進程)的進程。

1:使用命令

netstat -ano|findstr 8080

netstat -ano 查找所有的端口占用
findstr 表示的是 管道,添加條件

2. 殺死這個線程
11940 是線程的編號。根據實際的情況進行修改;
taskkill /pid 11940 -t -f
 
1.2. 可以使用根據線程的名稱殺死線程;
執行的命令

C:\Users\aiju>netstat -ano |findstr 8080
  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       5924
  TCP    [::]:8080              [::]:0                 LISTENING       5924

C:\Users\aiju>tasklist | findstr 5924
javaw.exe                     5924 Console                    3    273,492 K

C:\Users\aiju>taskkill /im javaw.exe /f
成功: 已終止進程 "javaw.exe",其 PID 為 5924。

1.    netstat -ano|findstr 8080 找到占用的端口的pid
2.    tasklist | find {占用的pid} 找到占用的程序的 名稱
3.    殺死當前的占用的程序

 

 

在Linux

#!/bin/sh
TOM_HOME=$(cd `dirname $0`;cd ..;pwd)
ps -ef|grep $TOM_HOME|grep -v grep|grep -v kill
if [ $? -eq 0 ];then
    kill -9 `ps -ef|grep $TOM_HOME|grep -v grep|grep -v kill|awk '{print $2}'`
else
    echo $TOM_HOME' No Found Process'
fi

 

中,我們經常使用“ps -ef|grep tomcat” 查看進程,如下圖是我操作的服務器上使用該命令后查看的結果:

 

可以看到,除了3個紫色的tomcat外,還會有一個該命令的進程。

如果想排除掉那個紅色框的當前進程,可以在原來命令后面增加一段參數過濾,如下:

ps -ef|grep tomcat|grep -v grep

 

只所以這樣做,是因為我個人有個需求:寫一個sh腳本放在tomcat/bin目錄下,kill掉當前tomcat的進程。

編寫 kill.sh 腳本,並將該腳本放在 tomcat/bin 目錄下,內容如下:




資料來源:
http://blog.csdn.net/u012523921/article/details/51839450
http://blog.csdn.net/yels303/article/details/50900127

http://blog.csdn.net/catoop/article/details/49557967


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM