Iniciar ou parar um servidor com um único iniciador de script

1

Eu fiz 2 scripts .sh para iniciar e parar o servidor Xampp. Eu gostaria de mesclá-los em um único lançador para obter algo como um botão ON / OFF, de modo que, se o Xampp já tivesse sido iniciado, ele pararia, mas eu não sei como fazer isso.

O código que tenho no meu script é o seguinte:

#!/bin/bash

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

Alguém pode me ajudar?

P.S. Eu li esta resposta mas isso não ajuda .. Por que Oli disse "Mas vou deixar isso com você"? : P

    
por Kurt Bourbaki 05.02.2013 / 10:04

2 respostas

1

Eu não tenho atualmente uma configuração do servidor xampp, MAS, deve ser algo como isto:

 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

como eu disse, eu não uso o xampp, então não sei exatamente como o processo é chamado, ou os comandos para iniciá-lo e pará-lo, mas isso funcionará se você editá-lo com o nome do processo e iniciar / Pare os comandos. O outro cara estava certo, só não simplificou com "comando para parar / iniciar"

EDIT: erro de sintaxe:)

    
por Mike 25.02.2013 / 23:44
1

Eu não sei especialmente sobre o Xampp server suite, mas você pode escrever algo como o seguinte, ele faz um ps aux (mostrar todos os processos) e greps para o processo que você quer ter em execução, então conta os resultados. grep [p] rocess é usado para excluir o próprio processo grep, você poderia fazer o mesmo com o processo grep | grep -v grep mas esta é uma versão mais curta.

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

Espero que este seja o que você está procurando.

    
por latz 05.02.2013 / 10:47