如果我停止執行,我該如何獲得執行時間?示例我運行我的perl腳本,然後按終端快捷鍵CTRL + C或CTRL + Z停止它,然後發佈執行時間。這是可能的或不可以?如何獲得Perl程序的執行時間?
0
A
回答
4
在Linux上,您可以使用program time
來獲取執行時間。只要把它加到你的Perl腳本就可以了。
$ cat foo.pl
1 while 1;
$ time perl foo.pl
^C
real 0m1.006s
user 0m0.756s
sys 0m0.008s
當然這不限於Perl程序。它適用於任何程序。
1
Perl有一個名爲:$^T
的內置變量,它是程序的開始時間。
注意 - 在Unix CTRL-Z
停止過程(SIGSTP)(可續),其中CTRL-C
導致其退出。 (SIGINT)
添加處理程序SIGINT
會是這樣的。
$SIG{'INT'} = sub { warn "Start time: $^T\n, Run time:".(time() - $^T)."\n" };
注意 - 這實際上不會彈了出來你的程序的任何更多的 - 如果你這樣做,你應該die
爲好,否則程序會做一個Ctrl-C
意想不到的事情(如不退出 - 但沒關係,如果它放棄「當前操作」)
所以通常你會勾其他信號之一,像SIGUSR1
或SIGUSR2
這是明確的用戶自定義功能。 (您可以然後kill -USR1 <pid>
)
#!/usr/bin/env perl
use strict;
use warnings;
$SIG{'INT'} = sub { warn "Started at $^T, runtime ".(time() - $^T)."\n"; die };
$SIG{'USR1'} = sub { warn "Started at $^T, runtime ".(time() - $^T)."\n";
warn "Program continuing\n"; };
while (1) {
sleep 1;
}
相關問題
- 1. 如何獲得symfony2應用程序的執行時間?
- 2. Perl:如何在執行期間獲得實時更新
- 3. 如何爲我的程序獲得「每行代碼的執行時間」?
- 4. symfony2 - 獲得執行時間
- 5. 如何獲得Java程序運行時執行的字節碼?
- 6. Bash,如何獲得多個平均執行時間的平均執行時間?
- 7. Eclipse來獲取程序執行時間
- 8. Android:獲得時間,直到通過處理程序執行Runnable
- 9. 獲得程序正常運行時間
- 10. 執行時間java程序
- 11. 如何在C++中獲得一段代碼的執行時間?
- 12. 如何獲得shell腳本執行的剩餘時間?
- 13. 如何獲得測試用例的完整執行時間?
- 14. 如何獲得我執行的perl腳本的絕對路徑?
- 15. 我如何獲得由exec執行的程序的返回值?
- 16. 如何在plsql中獲得執行開始時間與執行結束時間之間的差異
- 17. 如何獲得不同行的時間
- 18. 如何獲得Java應用程序中的確切執行點?
- 19. 我如何獲得正在執行的程序集版本?
- 20. 如何在php中執行長時間運行的程序
- 21. 如何使用msp430獲得執行時間?
- 22. 我如何獲得MySQL觸發器執行時間?
- 23. 如何從sidekiq獲得工作執行時間?
- 24. 如何使用setTimeout獲得時間執行速度?
- 25. 如何在postgres中獲得執行時間
- 26. 當由Selenium執行時,如何獲得Perl CGI腳本的代碼覆蓋率?
- 27. 程序的執行時間是「5E-006」?
- 28. 程序執行的時間計算?
- 29. 計算Java程序的執行時間
- 30. 程序執行的C++測量時間
謝謝,它的工作原理。 –