簡體   English   中英

批處理文件,用於檢查另一個批處理文件進程

[英]Batch File which checks for another Batch File process

所以谷歌沒有幫助我,我需要再次問這里。 我使用這種方法來檢查我的服務器是否在2個批處理文件中運行。

tasklist /FI "IMAGENAME eq server_64.exe" 2> nul | find "server_64.exe" > nul
IF ERRORLEVEL == 1 (
echo Server is not running
echo.
) else (
echo Stopping Server ...
echo.
taskkill /F /IM server_64.exe > nul 2>&1
)

一個啟動,一個停止服務器。 嗯這很好用但是當涉及到批處理文件時它對我不起作用...我有一台服務器在phyton上運行,所以通過批處理文件啟動它。 我的問題是,有沒有辦法以某種方式得到批處理文件進程狀態並停止它像exe工作? 我希望我解釋得足夠好。 Thx提前! :)

您可以使用如下批處理文件來嘗試:

@echo off 
set "Process=server_64.exe"
Title Checking for status of this process ===^> "%Process%"
tasklist /nh /fi "imagename eq %Process%" 2>nul |find /i "%Process%" >nul
IF '%ERRORLEVEL%' EQU '1' (
    Color 0B
    echo.
    echo "%Process%" is not running
) else (
    Color 0C
    echo.
    echo Stopping "%Process%" ...
    taskkill /F /IM "%Process%" > nul 2>&1
)
pause

哦,我找到了解決方案,這是一個野獸......

tasklist /fi "imagename eq cmd.exe" /v /fo table /nh | find /i "Broker" 2>nul

但是什么是starmnge是我無法讓輸出變得笨拙...當我試圖將它靜音時它會給我總是錯誤級別1。

tasklist /fi "imagename eq cmd.exe" /v /fo table /nh 2>nul | find /i "Broker" 2>nul

這有什么不對嗎? ^

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM