bat、dos控制多个后台程序启动
控制 启动 多个 bat DOS
2023-09-14 08:59:05 时间
目录:
一、背景
二、需求分析
三、实现方法
四、常见问题
==================================================================
正文:
一、背景
有一个windows项目,需要打开多个cmd.exe窗口来启动众多子服务。每次手工打开cmd.exe窗口,并执行相同的命令行,不仅效率低下,而且长时间没有启动忘了步骤,还容易出错。
二、需求分析
此时需要一个一键启动的方式来完成操作。
1、windows下,bat脚本可以执行编排好的命令。
2、一个bat脚本对应一个cmd.exe窗口,就考虑编写多个bat脚本,再由一个总bat脚本来调用。
3、ping命令可以用了拉开启动的时间间隔。
ping -n 6 127.0.0.1 >nul
三、实现方法
1、新建5个分散脚本:r0.bat、r1.bat、r2.bat、r3.bat、r4.bat
分散脚本中的内容可以改成你自己的命令。脚本数量也可以修改。
r0.bat中
mongod --port 65521 --dbpath d:/mongodb_data --auth
r1.bat中
ping -n 6 127.0.0.1 >nul workon xunfeng_py2 && python -V && python web.py
r2.bat中
ping -n 7 127.0.0.1 >nul workon xunfeng_py2 && python -V && python aider/aider.py
r3.bat中
ping -n 8 127.0.0.1 >nul workon xunfeng_py2 && python -V && python nascan/nascan.py
r4.bat中
ping -n 9 127.0.0.1 >nul workon xunfeng_py2 && python -V && python vulscan/vulscan.py
2、新建总控制bat:run.bat
run.bat中:
start r0.bat start r1.bat start r2.bat start r3.bat start r4.bat ::说明,以上bat是在做如下事项。各个脚本中ping的目的是在拉开启动时间间隔。 ::start mongod --port 65521 --dbpath d:/mongodb_data --auth ::workon xunfeng_py2 && python -V && python web.py ::workon xunfeng_py2 && python -V && python aider/aider.py ::workon xunfeng_py2 && python -V && python nascan/nascan.py ::workon xunfeng_py2 && python -V && python vulscan/vulscan.py
3、测试
双击run.bat查看运行效果。
结果启动了5个cmd.exe窗口,服务运行成功。
四、常见问题
1、Unix文件和windows文件有区别
如果启动总bat不能执行所有命令,有可能是Unix格式的文件,用notepad打开,双击右下角Unix的标记,修改为windows格式的文件。
2、dos命令连续执行命令连接符
&& 表示前一个命令执行成功后执行后一个命令
workon xunfeng_py2 && python -V && python web.py
3、bat启动新cmd.exe
start 默认启动一个新的cmd.exe。
:: 双冒号无空格,表示bat中的注释。
相关文章
- Unity SKFramework框架(十七)、FreeCameraController 上帝视角/自由视角相机控制脚本
- GB28181设备控制和TeleBoot远程启动命令探究
- RBAC、控制权限设计、权限表设计 基于角色权限控制和基于资源权限控制的区别优劣
- 流程控制语句
- 【Kotlin 协程】协程启动 ② ( 多协程控制 | launch 协程执行顺序控制 | Job#join() 函数 | async 协程执行顺序控制 | Deferred#await() 函数 )
- linux 远程控制windows系统下的程序(三种方法)
- 量Oracle中优化控制当前进程数量的方法(oracle当前进程数)
- 控制Linux下线程控制优化实践(linux下的线程)
- Linux下运动控制的新技术(linux运动控制卡)
- 失效控制Redis整合Java处理过期失效控制(redisjava过期)
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
- 如何使用Oracle BAT启动控制数据库?(oraclebat启动)
- 处理MySQL字段时间处理:一招制数据,精准控制(mysql字段时间)
- 服务指定端口启动Redis服务精准控制更便捷(指定端口启动redis)
- 命令行下运行Redis实现命令控制的神奇动作(命令行执行redis)
- Asp.net控制Tomcat启动关闭的实现方法