結束普通方法無法結束的程序

2022-09-16 03:51:09 字數 1801 閱讀 3954

ntsd -c q -p pid

ntsd -c q -pn pname

兩種方法

一種是使用程序的id號,將pid換成對應程序id號即可

一種是使用程序的名稱,將pname換成對應的exe名字即可,比如notepad.exe

為了方便,寫了個批處理,將該批處理和ntsd放在一起,使用時執行批處理,選擇對應的方式,並輸入引數即可。

@echo

offtitle 結束使用普通方法無法結束的程序

color 0a

mode con: cols=62 lines=22

:menu

set tm1=%time:~0,2%

set tm2=%time:~3,2%

set tm3=%time:~6,2%

echo. %date

% %tm1%點%tm2%分%tm3%秒

echo. ****************************************

echo.請選擇要進行的操作,然後按回車

echo.────────────────────

echo. 1根據程序號pid結束程序

echo. 2根據程序名稱結束程序

echo. 0退出

echo.

echo.請輸入選擇專案的序號:

set /p choose=

if "%choose%" equ "" goto

menu

if %choose%==1 goto

killusingpid

if %choose%==2 goto

killusingname

if %choose%==0 goto

endecho.輸入錯誤,請輸入正確的專案序號:

goto

menu

:killusingpid

set choose=

echo.請輸入程序號pid,然後按回車

set /p proid=

set /a i=0

:kpid

ntsd -c q -p %proid%

if %i% geq 10 ( ( echo 結束程序%proid%失敗 ) & goto menu )

set /a i=%i%+1

echo

結束程序%proid%第%i%次

tasklist | findstr /i %proid% && ( goto kpid )

echo

結束程序id為%proid%的程式成功或程序id:%proid%不存在

goto

menu

:killusingname

set choose=

echo.請輸入程序的名稱(比如notepad.exe),然後按回車

set /p proname=

set /a i=0

:kpname

ntsd -c q -pn %proname%

if %i% geq 10 ( ( echo 結束程式%proname%失敗 ) & goto menu )

set /a i=%i%+1

echo

結束程式%proname%第%i%次

tasklist | findstr /i %proname% && goto

kpname

echo

結束程式%proname%成功或程式:%proname%未啟動

goto

menu

:end

exit

參考:

批量結束程序的方法

有些時候,我們會中一種病毒,它會在作業系統能同時開3 4個程序,當你在任務管理器中結束其中之一的時候,另外那幾個又會把你結束的程序開啟,這時我們就是要用批量去同時結束這些程序。其中方法有兩種 1 使用taskkill命令 首先,我們先開啟任務管理器,記下我們要結束程序的pid值 如 1230 124...

VC 結束程序的方法

1.使用exitprocess 結束程序 程序只是提供了一段位址空間和核心物件,其執行時通過在其位址空間內的主線程來體現的。當主線程的進入點函式返回時,程序也就隨之結束。這種程序的終止方式是程序的正常退出,程序中的所有執行緒資源都能夠得到正確的清除。除了這種程序的正常退出方式外,有時還需要在程式中通...

linux 如何結束程序方法

首先使用ps ef命令確定要殺死程序的pid,然後輸入以下命令 kill pid 注釋 標準的kill命令通常都能達到目的。終止有問題的程序,並把程序的資源釋放給系統。然而,如果程序啟動了子程序,只殺死父程序,子程序仍在執行,因此仍消耗資源。為了防止這些所謂的 殭屍程序 應確保在殺死父程序之前,先殺...