Como posso obter o horário final correto de um comando nohup?

2
#!/bin/sh

set -x

echo "Starting Time at "'sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date''
nohup ab -n 20000 -c 70 https://xxx.xxxxxx.com/xxx/xxxx/new.jsp &

echo "Ending Time at "'sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date''

#!/bin/sh

set -x

echo "Starting Time at "'sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date''
nohup ab -n 20000 -c 70 https://xxx.xxxxxx.com/xxx/xxxx/new.jsp &

echo "Ending Time at "'sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date''

O script acima envia 20000 solicitações para https://xxx.xxxxxx.com/xxx/xxxx/new.jsp com uma simultaneidade de 70. Quero que ele imprima o início e o fim do comando nohup . No entanto, quando eu executo isso, os Starting Time e Ending Time são ambos impressos no mesmo momento, logo após o lançamento do script.

Como posso obter o horário final correto?

    
por Vidya 19.10.2015 / 13:00

1 resposta

1

fundo ou primeiro plano?

Se o código que você mostrar for código completo, não vejo porque você executa nohup .. & , simplesmente os remova, quando você inserir o segundo eco, o programa ab terá fim.

Se você codificar é um snipet, use apenas wait antes do segundo eco. por exemplo,

echo "Starting Time at "'sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date''
nohup ab -n 20000 -c 70 https://xxx.xxxxxx.com/xxx/xxxx/new.jsp &
## some shell
wait
echo "Ending Time at "'sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date''
  • veja a espera no manual bash .
por 19.10.2015 / 13:19