入力したコマンドの実行がいつ停止したかを把握しようとしています
Sudo apt-get update
次のような情報が必要です:
started execution at : 12:00
finished execution at : 12:15
プロセスについて理解しておくべき重要な点は、デフォルトではメタデータが記録されないことです。ただし、プロセスの実行中に特定の情報を取得できます。
関連する StackOverflow question in wlk's answer で述べたように、-o
フラグを介してps
およびltime
に開始時間を取得できます。フォーマット指定子:
ps -eo pid,lstart,cmd
ただし、通常、停止時間はシステムによって追跡されないため、自分で追跡する必要があります。プロセスのPIDを知っていれば、そのPIDの存在をポーリングし、タイムスタンプが消えたときにエコーすることができます
while kill -s 0 $pid ; do : ; sleep 0.25 ; done && date
独自のbashスクリプトを作成してみませんか?
#!/bin/bash
start_time=$(date +"%T")
$*
finish_time=$(date +"%T")
echo "started execution at : $start_time"
echo "finished execution at : $finish_time"
スクリプトをlogscript.sh
として保存します
chmod +x logscript.sh
を使用して実行可能にします
./logscript.sh command
を使用して「コマンド」を実行できます
たとえば、./logscript.sh Sudo apt-get update
これを確認してください site 興味深い時間表示形式について。