Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Batch\CMD:检查Apache是否正在运行,否则启动它_Windows_Apache_Batch File - Fatal编程技术网

Windows Batch\CMD:检查Apache是否正在运行,否则启动它

Windows Batch\CMD:检查Apache是否正在运行,否则启动它,windows,apache,batch-file,Windows,Apache,Batch File,使用批处理命令,我会每小时(使用Windows调度器)检查一次Apache web服务是否正在运行,如果没有,则启动它 我找到以下命令来启动Apache: C:\apache\bin\https.exe start 但我不知道如何检查它是否已经开始 我的Apache版本是2.4.3 我的基本想法(伪代码): 我相信以下方法会奏效 tasklist | find "httpd.exe" if ERRORLEVEL = 1 "C:\apache\Bin\httpd.exe start" 我们使用

使用批处理命令,我会每小时(使用Windows调度器)检查一次Apache web服务是否正在运行,如果没有,则启动它

我找到以下命令来启动Apache:

C:\apache\bin\https.exe start
但我不知道如何检查它是否已经开始

我的Apache版本是2.4.3

我的基本想法(伪代码):


我相信以下方法会奏效

tasklist | find "httpd.exe"
if ERRORLEVEL = 1 "C:\apache\Bin\httpd.exe start"
我们使用tasklist命令查看正在运行的内容,并将其输出传送到查找httpd.exe的find命令。如果find命令为空,则应将错误级别设置为1,如果返回输出,则应将错误级别设置为0。如果错误级别为1,if命令应运行apachestart命令,否则批处理脚本应退出


我没有安装Apache,因此您可能需要检查任务列表中的映像名称,但我可以使用mmc.exe验证功能。

我相信以下方法可以奏效

tasklist | find "httpd.exe"
if ERRORLEVEL = 1 "C:\apache\Bin\httpd.exe start"
我们使用tasklist命令查看正在运行的内容,并将其输出传送到查找httpd.exe的find命令。如果find命令为空,则应将错误级别设置为1,如果返回输出,则应将错误级别设置为0。如果错误级别为1,if命令应运行apachestart命令,否则批处理脚本应退出


我没有安装Apache,因此您可能需要检查任务列表中的映像名称,但我可以使用mmc.exe验证功能。

我还注意到一个线程,关于windows处理bat和cmd文件中的errorlevel变量的方式不同,在创建批处理文件之前,您可能需要阅读。我刚刚注意到一个关于windows在bat和cmd文件中处理errorlevel变量的方式不同的线程,您可能需要在创建批处理文件之前阅读。