man/shells_and_env
man · Kabuklar & Ortam

$ time

Bölüm 1 · Kabuklar & Ortam

komut yürütme süresini ölçer

Söz Dizimi

     time [-al] [-h | -p] [-o file] utility [argument ...]

Açıklama

time yardımcı programı, belirtilen yardımcı programı yürütür ve süresini ölçer. Yardımcı program tamamlandıktan sonra time, standart hata akışına (saniye cinsinden) şunları yazar: geçen toplam süre, yardımcı program sürecini yürütmek için kullanılan süre ve sistem ek yükü tarafından tüketilen süre.

Aşağıdaki seçenekler mevcuttur:

  • -a: Eğer -o bayrağı kullanılıyorsa, belirtilen dosyanın üzerine yazmak yerine dosyaya ekleme yapar. Aksi takdirde, bu seçeneğin hiçbir etkisi yoktur.

  • -h: Süreleri insan tarafından okunabilir bir biçimde yazdırır. Süreler duruma göre dakika, saat vb. cinsinden yazdırılır.

  • -l: rusage yapısının içeriği de yazdırılır.

-o file Çıktıyı standart hata (stderr) yerine belirtilen dosyaya yazar. Dosya zaten mevcutsa ve -a bayrağı belirtilmemişse, dosyanın üzerine yazılır.

  • -p: time çıktısını POSIX.2 uyumlu hale getirir (her bir süre kendi satırında yazdırılır).

Bazı kabuklar, bu yardımcı programla benzer veya aynı olan yerleşik bir time komutu sağlayabilir. builtin(1) kılavuz sayfasına başvurun.

Eğer time bir SIGINFO (bkz. stty(1) için status argümanı) sinyali alırsa, verilen komutun o anki çalışma süresi standart çıktıya yazılır.

Ortam

Eğer ad '/' karakteri içermiyorsa, istenen yardımcı programı bulmak için PATH ortam değişkeni kullanılır.

Çıkış Durumu

Eğer yardımcı programın süresi başarıyla ölçülebilirse, onun çıkış durumu döndürülür. Yardımcı program anormal bir şekilde sonlandırılırsa, standart hataya (stderr) bir uyarı mesajı yazdırılır. Yardımcı program bulundu ancak çalıştırılamadıysa, çıkış durumu 126 olur. Hiçbir yardımcı program bulunamadıysa, çıkış durumu 127 olur. Eğer time başka herhangi bir hatayla karşılaşırsa, çıkış durumu 1 ile 125 (dahil) arasındadır.

Örnekler

     Boş bir dizinde ls(1) komutunun yürütülme süresini ölçün:

	   $ /usr/bin/time ls
		   0.00 real	     0.00 user	       0.00 sys

     cp(1) komutunun yürütülme süresini ölçün ve sonucu times.txt dosyasına kaydedin. Ardından
     yeni bir kopya oluşturmak için komutu tekrar çalıştırın ve sonucu aynı dosyaya ekleyin:

	   $ /usr/bin/time -o times.txt cp FreeBSD-12.1-RELEASE-amd64-bootonly.iso copy1.iso
	   $ /usr/bin/time -a -o times.txt cp FreeBSD-12.1-RELEASE-amd64-bootonly.iso copy2.iso

     times.txt dosyası her iki komutun da sürelerini içerecektir:

	   $ cat times.txt
		   0.68 real	     0.00 user	       0.22 sys
		   0.67 real	     0.00 user	       0.21 sys

     sleep(1) komutunun süresini ölçün ve sonuçları insan tarafından okunabilir bir biçimde gösterin. rusage
     yapısının içeriğini de görüntüleyin:

	   $ /usr/bin/time -l -h -p sleep 5
	   real 5.01
	   user 0.00
	   sys 0.00
		    0  maksimum yerleşik küme boyutu
		    0  ortalama paylaşılan bellek boyutu
		    0  ortalama paylaşılmayan veri boyutu
		    0  ortalama paylaşılmayan yığın boyutu
		   80  sayfa geri kazanımı
		    0  sayfa hatası
		    0  takas
		    1  blok giriş işlemleri
		    0  blok çıkış işlemleri
		    0  gönderilen mesajlar
		    0  alınan mesajlar
		    0  alınan sinyaller
		    3  gönüllü bağlam geçişleri
		    0  gönülsüz bağlam geçişleri
	      2054316  tamamlanan talimatlar
	      2445544  geçen döngüler
	       241664  zirve bellek ayak izi

Ayrıca Bakınız

builtin(1), csh(1), getrusage(2), wait(2)

Standartlar

time yardımcı programının ISO/IEC 9945-2:1993 (``POSIX'') standartlarına uyması beklenmektedir.

Geçmiş

Bir time yardımcı programı ilk olarak Version 3 AT&T UNIX sürümünde ortaya çıkmıştır.