进程检查
脚本文件
名称检查 (progress-name)
- progress-name
- 说明: 根据进程名称,判断进程是否存在
pid检查 (progress-pid)
- progress-pid
- 说明: 根据进程pid,判断进程是否存在
端口检查 (progress-port)
- progress-port
- 说明: 根据进程端口,判断进程是否存在
名称检查脚本
名称检查脚本
- 创建
bin\progress\progress-name.bat批处理文件
bat
@echo off
setlocal enabledelayedexpansion
@REM 进程名称检查
@REM 调用方式:progress-name.bat nginx.exe
@REM 返回结果:0:不存在 1:存在
set process_name=%1
for /f "tokens=1" %%a in ('tasklist /fi "imagename eq !process_name!" /nh') do (
if %%a equ !process_name! (
echo 1
) else (
echo 0
)
goto :break
)
:break
endlocalpid检查脚本
pid检查脚本
- 创建
bin\progress\progress-pid.bat批处理文件
bat
@echo off
setlocal enabledelayedexpansion
@REM 进程pid检查
@REM 调用方式:progress-pid.bat pid
@REM 返回结果:0:不存在 1:存在
set process_pid=%1
set status=0
for /f "tokens=2" %%i in ('tasklist /FI "PID eq %process_pid%" ^| find /i "%process_pid%"') do (
if %%i equ !process_pid! (
set status=1
goto :break
)
)
:break
echo !status!
endlocal端口检查脚本
端口检查脚本
- 创建
bin\progress\progress-port.bat批处理文件
bat
@echo off
setlocal enabledelayedexpansion
@REM 进程端口检查
@REM 调用方式:progress-port.bat 80
@REM 返回结果:0:不存在 1:已存在
set process_port=%1
set status=0
for /f "tokens=2" %%a in ('netstat -ano ^| findstr /R "\<0.0.0.0:%process_port%\>"') do (
if "%%a" equ "0.0.0.0:!process_port!" (
set status=1
goto :break
)
)
:break
echo !status!
endlocal脚本调用
进程名称
- 调用方式:
progress-name.bat nginx.exe - 返回结果:
0不存在1存在
- 调用方式:
进程pid
- 调用方式:
progress-pid.bat pid - 返回结果:
0不存在1存在
- 调用方式:
进程端口
- 调用方式:
progress-port.bat 80 - 返回结果:
0不存在1存在
- 调用方式: