Usar if em script .sh [RESOLVIDO]

1. Usar if em script .sh [RESOLVIDO]

Pedro Henrique
stumts

(usa Ubuntu)

Enviado em 30/10/2012 - 16:30h

Saudações!!!

Eu criei um script .sh que executa o utserver. Como eu colocaria um "if" para que esse meu script só execute o utserver se ele não estiver sendo executado???

Meu script esta assim:


#!/bin/bash
utserver -settingspath /opt/utorrent-server-v3_0/ &


Obrigado!!!


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/10/2012 - 02:45h

Aproveitando a ideia anteriror


#!/bin/bash
PID_UTS=$(ps -ef | grep 'utserver' | grep -v 'grep utserver' | grep -v "$0")


if [ ${#PID_UTS} -eq 0 ]
then

utserver -settingspath /opt/utorrent-server-v3_0/ &

fi


Boa sorte!!!

3. Re: Usar if em script .sh [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 30/10/2012 - 16:44h

stumts escreveu:

Eu criei um script .sh que executa o utserver. Como eu colocaria um "if" para que esse meu script só execute o utserver se ele não estiver sendo executado???

Meu script esta assim:
#!/bin/bash
utserver -settingspath /opt/utorrent-server-v3_0/ &


Há várias formas, entre elas:


PID_UTS=$(ps -ef | grep utserver | grep -v grep | grep -v $0)
if [ $PID_UTS == "" ]; then

utserver -settingspath /opt/utorrent-server-v3_0/ &

fi



4. Re: Usar if em script .sh [RESOLVIDO]

Pedro Henrique
stumts

(usa Ubuntu)

Enviado em 31/10/2012 - 00:44h

Não funcionou, o utserver não é executado com o script que você me mandou.
Quando eu executo no terminal "ps -ef | grep utserver", ao executar o meu script uma vez ele me retorna isso:
pedro 7646 1 4 00:31 ? 00:00:05 utserver -settingspath /opt/utorrent-server-v3_0/
root 7753 7748 0 00:33 pts/1 00:00:00 grep utserver

Quando eu não executo o meu script ele me retorna isso:
root 7753 7748 0 00:33 pts/1 00:00:00 grep utserver

O primeiro é o que me interessa. Cada vez que eu executo o meu script mais um utserver é adicionado a essa lista.

Por exemplo:
Quando eu executo o meu script 3 vezes o comando "ps -ef | grep utserver" me retorna isso:
pedro 7646 1 2 00:31 ? 00:00:13 utserver -settingspath /opt/utorrent-server-v3_0/
pedro 7945 1 78 00:40 ? 00:00:09 utserver -settingspath /opt/utorrent-server-v3_0/
pedro 7994 1 86 00:40 ? 00:00:06 utserver -settingspath /opt/utorrent-server-v3_0/
root 8071 8068 0 00:40 pts/1 00:00:00 grep utserver

E quando eu executo o script que você me mandou a reposta é essa:
root 7753 7748 0 00:33 pts/1 00:00:00 grep utserver

O que fazer?


5. Re: Usar if em script .sh [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/10/2012 - 02:48h

Leia esse link
http://sekysu.blogspot.com.br/2012/02/verificando-se-um-processo-existe-em.html

Caso queira uma rotina para descobrir se um processo está rodando na máquina através do seu nome.

BOA SORTE!!!


6. Re: Usar if em script .sh [RESOLVIDO]

Pedro Henrique
stumts

(usa Ubuntu)

Enviado em 31/10/2012 - 03:48h

Funcionou com perfeição, era exatamente o que eu queria. Muito obrigado.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts