Abaixo os resultados:
Código :
[root@servidor4 ~]# ps -aux | egrep "(sc_autodj|sc_serv)" Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ root 1812 0.2 0.4 39632 3536 ? Sl Aug25 2:01 ./sc_serv 8110.conf root 1867 2.6 0.5 22320 4420 ? Sl Aug25 18:55 ./sc_autodj 8110.adj root 3166 0.2 0.3 30568 2736 ? Sl Aug24 7:37 ./sc_serv 8112.conf root 3176 0.2 0.3 30564 2536 ? Sl Aug24 6:38 ./sc_serv 8114.conf root 18361 2.6 0.5 22200 4380 ? Sl Aug25 19:18 ./sc_autodj 8112.adj root 30008 0.0 0.1 2996 796 pts/2 S+ 00:24 0:00 egrep (sc_autodj|sc_serv) [root@servidor4 ~]# pidof sc_autodj 18361 1867 [root@servidor4 ~]# pidof sc_serv 3176 3166 1812
Esses resultados estão corretos agora, pois eu tinha feito a alteração sugerida do PATH correto no código e alterado a ordem da lógica do IF. Meu código está assim:
Código :
#!/bin/sh PORTAS="8110 8112" # nao alterar a partir daqui for PORTA in $PORTAS do VAR=`/bin/ps aux | /bin/grep "sc_autodj $PORTA.adj" | /usr/bin/wc -l` echo -n "Auto-DJ na porta $PORTA: " if [ $VAR -eq 1 ]; then echo "OFF" echo "...Colocando para rodar..." cd /home/shoutcast/ ./sc_autodj $PORTA_trans.conf > /var/log/shoutcast.log & else echo "OK" fi echo "" done
Quando eu rodo o arquivo manualmente:
Código :
[root@servidor4 ~]# sh /home/shoutcast/autodj.sh Auto-DJ na porta 8110: OK Auto-DJ na porta 8112: OK
Só me confirme se o comando do crontab está correto (verificar a cada 5 minutos):
Código :
0-59/5 * * * * sh /home/shoutcast/autodj.sh > /dev/null 2>&1
Creio que o meu problema esteja resolvido, pois não houve mais uma multiplicação dos processos.