Làm thế nào để thời gian một quá trình trong bash? [bản sao]


10

Có thể trùng lặp:
Đo thời gian thực hiện tập lệnh

Làm thế nào tôi có thể mất bao lâu để kịch bản của tôi foo.shchạy?

Tôi đang tìm kiếm một cái gì đó giống tictoctrong MATLAB.



bạn đã thử gói mã của mình đúng lúc chưa {}
n0pe

Câu trả lời:


18

Cách dễ nhất là sử dụng tích hợptime , Thời gian GNU hoặc timethực thi lệnh unix khác của bash :

time ./sript.sh

Nếu bạn quan tâm đến bọ ve, bạn có thể ước chừng nó với một chút trợ giúp từ /proc/cpuinfo.

Nếu bạn muốn đào sâu hơn, hãy xem strace.


2
time is a shell keyword
Hello71

1
@ Hello71 linux của tôi bashkhông cung cấp lệnh thời gian, nó sử dụng /usr/bin/time. Tuy nhiên zsh, cũng như solaris của tôi tcsh. Vì vậy, ngay cả khi nó không được xây dựng trong vỏ của bạn, bạn vẫn có thời gian được cung cấp bởi vùng người dùng của bạn như một dự phòng. Ngoài ra, các lệnh thời gian đó có thể cung cấp một đầu ra hơi khác nhau.
mbx


@ Hello71 mặc dù được bảo lưu, trên ystem đó which timetrả về thời gian của người dùng thay vì cảnh báo từ khóa dành riêng
mbx

@mbx: whichkhông bao giờ làm điều đó. Tôi đang đề cập đến type.
Hello71

4

timecó thể đạt được điều này. Trong trường hợp này:

$ time foo.sh             
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.