Получите время, когда программа nohup R заканчивается

Я хочу получить время, когда программа закончится. Но он всегда показывает одно и то же время. Вот мой сценарий оболочки. Но он всегда показывает, что START TIME – это то же самое, что и END TIME .

 START=$(date +"%r") nohup Rscript program_1.R >program_1.Rout & wait & echo START TIME = $START\n END TIME = " `date +"%r"`"; 

One Solution collect form web for “Получите время, когда программа nohup R заканчивается”

Проблема в том, что всякий раз, когда вы разделяете команду с этой командой, выполняется в фоновом режиме, и следующая команда запускается сразу с первой командой, а не после нее. Ваша проблема не связана с nohup (это означает, что программы, которые все еще выполняются при выходе родительской оболочки, не должны быть убиты, но продолжают выполнение). Для вашей проблемы попробуйте что-то вроде

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

Это запустит ваши задания и выходные тайминги в фоновом режиме и перенаправит весь вывод на данный файл.

BTW, если вас интересует только время выполнения, вы должны сделать

 nohup /bin/bash -s <<< "time your-script.sh " >& all-output.txt & 
  • Сохранять все даты в определенном диапазоне дат в переменной
  • удаление избыточности из выходных столбцов
  • выполнение скрипта после выхода из системы
  • Как проверить скрипт оболочки, если исполняемый файл запущен или нет?
  • Создание и экспорт / импорт переменной с awk?
  • Разделить видеофайл на части с помощью ffmpeg
  • Как скопировать файл в сценарий bash и переименовать его во время копирования и поместить его в тот же каталог
  • Автоматизация труб?
  • Замедленная подстановка команды Bash не работает
  • Прикрепить файлы для отправки почты, которые являются результатом набора команды find
  • Как удалить повторяющиеся строки из файла?
  • Подведение строк с общим полем
  • Linux и Unix - лучшая ОС в мире.