プログラムがいつ終わるのか知りたいです。しかし、常に同じ時間を示しています。これは私のシェルスクリプトです。しかし、常に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"`";
ベストアンサー1
問題は、&
このコマンドを使用してバックグラウンドで区切られたコマンドを実行するたびに、次のコマンドがすぐに開始されることです。そして代わりに最初のコマンド後ろにそれ。あなたの質問はnohup
何の関係もありません。つまり、親シェルがシャットダウンしても実行を続けているプログラムは、シャットダウンせずに実行を続ける必要があることを意味します。問題がある場合は、次のようにしてみてください。
nohup /bin/bash -s <<< "date; your-script.sh ; date " >& all-output.txt &
これにより、バックグラウンドでジョブと出力タイミングが実行され、すべての出力が指定されたファイルにリダイレクトされます。
ところで、ランタイムだけに興味があるなら、そうしなければなりません。
nohup /bin/bash -s <<< "time your-script.sh " >& all-output.txt &