GNU/Linux >> Belajar Linux >  >> Linux

Simpan dalam variabel jumlah detik yang dibutuhkan proses untuk dijalankan

Apakah Anda ingin memasukkan kode ini ke dalam skrip Anda, atau melakukannya dari proses yang memulai skrip?

Untuk yang terakhir, Anda dapat menggunakan kata cadangan "waktu" dan kemudian mengurai apa yang dikembalikan untuk mendapatkan berapa banyak waktu yang dibutuhkan skrip.

Jika Anda ingin melakukan ini dari dalam skrip, Anda dapat menyetel variabel SECONDS ke nol, dan setiap kali Anda mereferensikan variabel tersebut, variabel tersebut akan diperbarui menjadi jumlah detik yang berlalu. Jadi, Anda dapat meletakkan "SECONDS=0" di bagian paling awal skrip, dan kapan pun Anda membutuhkan waktu yang telah berlalu, itu akan berada di variabel SECONDS.

Anda juga dapat menggunakan trik $SECONDS pada baris perintah, misalnya:

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

Kata cadangan waktu dan variabel SECONDS keduanya didokumentasikan di halaman manual bash.


Ini berfungsi di Bash, dan juga 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
  • Dua pengalihan pertama menyembunyikan keluaran proses Anda ">/dev/null 2>&1"
  • Pengalihan terakhir diperlukan karena "time" mencetak waktu di stderr

Linux
  1. Temukan Waktu Eksekusi Perintah Atau Proses Di Linux

  2. Mengapa Rsync Bersikeras Ada Perbedaan Saat Kedua Kali Saya Menjalankannya?

  3. Bagaimana cara mendapatkan waktu mulai dari proses Linux yang sudah berjalan lama?

  1. Bagaimana cara menjalankan server web Golang saya di latar belakang?

  2. Bagaimana cara menjadwalkan tcpdump agar berjalan untuk jangka waktu tertentu?

  3. Jalankan AVD dan VirtualBox secara bersamaan

  1. Bagaimana Cara Mendapatkan Alamat Ip Sendiri Dan Menyimpannya Ke Variabel Dalam Script Shell?

  2. Nilai Maksimum Id Proses?

  3. Apakah Shell Portabel Untuk Menjalankan Perintah Pada Baris Yang Sama Setelah Penetapan Variabel?