使用单个脚本启动器启动或停止服务器

使用单个脚本启动器启动或停止服务器

我制作了 2 个 .sh 脚本来启动和停止 Xampp 服务器。我想将它们合并到一个启动器中以获得类似开/关按钮的功能,这样如果 Xampp 已经启动,它就会停止,但我不知道该怎么做。

我的脚本中的代码如下:

#!/bin/bash

sudo /opt/lampp/lampp start;
echo "Starts Xampp server";

有人能帮我吗?

PS我读过这个答案但这没有帮助...为什么奥利说“但我会把这留给你”?:P

答案1

我目前没有 xampp 服务器设置,但是,它应该是这样的:

 if [ $(ps aux | grep ###XAMPP PROCESS NAME### | wc -l) -gt 0;then
      echo "Process is running, stopping"
      ###COMMAND TO STOP XAMPP###
   else
      echo "Process is not running, starting"
      ###COMMAND TO START XAMPP###
 fi

就像我说的,我不使用 xampp,所以我不确定进程的名称,或者启动和停止它的命令,但如果您使用进程名称和启动/停止命令编辑它,这将起作用。另一个人说得对,只是没有用“停止/启动命令”来简化它

编辑:语法错误:)

答案2

我不是特别了解 Xampp 服务器套件,但你可以编写类似下面的东西,它执行 ps aux(显示所有进程)并对你想要运行的进程进行 grep,然后计算结果。grep [p]rocess 用于排除 grep 进程本身,你可以用 grep process | grep -v grep 来做同样的事情,但这是一个较短的版本。

if [ $(ps aux | grep [a]pache | wc -l) -gt 0 ]; then
     echo "Process is running"
else
     echo "Process is not running"
fi

希望这就是您要找的东西。

相关内容