如何判断httpd进程是否在线

可以通过命令pgrep httpd 来获取进程号,如果有进程号表示进程在线,如图:

完整的检测httpd脚本如下图所示:

说明:

  1. 第一行通过执行$()里面的命令,获取当前的进程数量
  2. 判断进程数量是否等于0,如果等于0那么表示服务已停止
  3. 提示是否启动httpd,输入y启动
  4. 如果进程数不等于0,表示服务正在运行。

第一行中$()也可以通过反引号(“)代替,但是两者有细微差别,建议使用$()

read命令接收标准输入(键盘)的输入 , 提供了-p参数,允许在read命令行中直接指定一个提示 ,上图中read后面的变量只有start一个,也可以有多个,这时如果输入多个数据,则第一个数据给第一个变量,第二个数据给第二个变量,因此当我们在键盘中输入y的时候,y将匹配变量start,因此下面写出if语句进行判断。

上面脚本内容也可以更改通过case进行判断,如图:

上图中的start为提示参数,下面case判断输入的提示参数,如果是y那么启动httpd,如果是n那么提示需要手动启动,如果是其他则提示重新选择。

read -t 10表示设置定时器10秒,如果10秒没有输入那么退出输入状态

标签