memdbstop.cmd 1008 B

1234567891011121314151617181920212223242526272829303132
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. pushd %~dp0
  4. for /f "tokens=*" %%i in ("%cd%") do set work=%%~nxi
  5. echo Memdbcluater workdir: %work%
  6. echo.
  7. choice /M 确定停止Memdbcluster并清空Redis缓存,请确保Redis缓存已被持久化
  8. if ERRORLEVEL 2 goto :EOF
  9. echo.
  10. echo ============Process list==============
  11. wmic process where "name='node.exe' and commandline like '%%!work!/config/memdb.conf.js%%'" get ProcessId, CommandLine /value | findstr /R "."
  12. set param=
  13. for /f "usebackq tokens=1 skip=1 delims= " %%i in (`wmic process where "name='node.exe' and commandline like '%%!work!/config/memdb.conf.js%%'" get ProcessId ^| findstr /R "."`) do (
  14. set param=!param! /pid %%i
  15. )
  16. echo ============Kill process==============
  17. if not "%param%"=="" taskkill /f %param%
  18. echo ============Redis flushdb==============
  19. for /f "usebackq" %%i in (`node.exe -e "console.log(require('./config/memdb.conf').locking.db)"`) do set db=%%i
  20. set /p=db%db%: <nul
  21. redis-cli -n %db% flushdb 2>nul
  22. popd
  23. echo.
  24. echo 按任意键退出...
  25. pause>nul