GNU/Linux >> Linux の 問題 >  >> Linux

プロセスの実行にかかった秒数を変数に保存します

このコードをスクリプトに入れたいですか、それともスクリプトを開始するプロセスから実行しますか?

後者の場合、「時間」予約語を使用して、返された内容を解析して、スクリプトにかかる時間を取得できます。

スクリプト内からこれを行う場合は、変数 SECONDS をゼロに設定できます。その後、その変数を参照するたびに、経過秒数に更新されます。したがって、スクリプトの最初に「SECONDS=0」を配置すると、経過時間が必要なときはいつでも SECONDS 変数に入れられます。

コマンドラインで $SECONDS トリックを使用することもできます。例:

$ SECONDS=0; sleep 5 ; echo "that took approximately $SECONDS seconds"

time 予約語と SECONDS 変数はどちらも bash のマニュアル ページに記載されています。


これは Bash と Zsh で動作します:

# Set time format to seconds
TIMEFORMAT=%R
# Time a process
PROC_TIME=$(time (insert command here >/dev/null 2>&1) 2>&1)
echo $PROC_TIME
  • 最初の 2 つのリダイレクトは、プロセスの出力を隠します ">/dev/null 2>&1"
  • 「time」は stderr に時刻を出力するため、最後のリダイレクトが必要です

Linux
  1. Linuxでのコマンドまたはプロセスの実行時間を検索する

  2. プロセスIDの最大値は?

  3. / etc / shadowのタイムスタンプ番号はどのように計算されますか?

  1. 長時間実行されている Linux プロセスの開始時刻を取得するには?

  2. Bash変数の文字数をカウントするにはどうすればよいですか

  3. Bash:2 つのタイムスタンプ間の経過時間を計算する

  1. 独自のIPアドレスを取得し、シェルスクリプトの変数に保存する方法は?

  2. 変数の割り当て後に同じ行でコマンドを実行するのはシェルポータブルですか?

  3. Linux –実行中のプロセスの壁掛け時計の時間を取得する方法は?