Получите время, когда программа 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"`"; 

  • Переменные среды по блоку ssh в сценарии оболочки
  • Прогулка по файлам в каталоге случайным образом
  • Почему возникает ошибка при двойном цитировании одинарных кавычек в скрипте, который запускает удаленную команду SSH?
  • Пока цикл проверки активных процессов не выполняется
  • Есть ли заклинание командной строки для сохранения определенных столбцов по имени в CSV-файле?
  • Триггер Bash до смерти
  • Как я могу вызвать событие в сценарии оболочки при удалении USB-устройства?
  • Как достичь «непрерывности случайности»?
  • 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 & 
    Linux и Unix - лучшая ОС в мире.