Obtenha o tempo quando o programa nohup R terminar

2

Eu quero ter o tempo quando o programa terminar. Mas sempre mostra o mesmo tempo. Aqui está o meu script de shell. Mas sempre mostra que START TIME é o mesmo que END TIME .

START=$(date +"%r") 
nohup Rscript program_1.R >program_1.Rout & wait & echo START TIME = $START\n END TIME = " 'date +"%r"'";
    
por Ben 25.04.2015 / 05:37

1 resposta

1

O problema é que sempre que você delimitar um comando com & , este comando será executado em segundo plano e o seguinte comando será iniciado imediatamente com o primeiro comando e não após isto. Seu problema não está relacionado a nohup (o que significa que os programas que ainda estão em execução quando o shell pai sai não devem ser eliminados, mas continuar a execução). Para o seu problema, tente algo como

nohup /bin/bash -s <<< "date; your-script.sh ; date " >& all-output.txt &

Isso executará o seu trabalho e os timings de saída em segundo plano e redirecionará toda a saída para o arquivo fornecido.

BTW, se você está interessado apenas no tempo de execução, você deve fazer

nohup /bin/bash -s <<< "time your-script.sh " >& all-output.txt &
    
por 25.04.2015 / 22:49