Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Lệnh Timeout trong Linux: Thiết lập thời gian chạy cho lệnh

Trong bài này mình sẽ hướng dẫn cách sử dụng lệnh Timeout để thiết lập thời gian chạy tối đa cho một lệnh Linux nào đó.

Trong Linux có rất nhiều lệnh khác nhau, và mỗi lệnh sẽ có một chức năng khác nhau, mục tiêu cuối cùng là giúp người dùng thao tác nhanh và hiệu quả hơn.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong số các lệnh thì có một lệnh rất hay được dùng để thiết lập thời gian chạy cho các lệnh khác, đó là lệnh Timeout. Và trong bài này mình sẽ hướng dẫn cách sử dụng nó ở mức cơ bản nhất.

1. Giới hạn thời gian chạy bằng lệnh Timeout

Linux có một tiện ích command-line được gọi là timeout, nó cho phép bạn thực hiện một lệnh trong một khoảng thời gian cụ thể.

Cú pháp của nó như sau.

timeout [OPTION] DURATION COMMAND [ARG]...

Như vậy, để sử dụng lệnh này thì ta chỉ cần truyến giá trị thời gian là số giây vào phía sau là được. Như ở ví dụ dưới đây mình chạy lệnh ping đến Googe và thiết lập thời gian tối đa là 5s, quá 5s thì lệnh kết thúc.

# timeout 5s ping google.com

Ký tự s trong thời gian 5s có thể có hoặc không. Như lệnh dưới đây là như nhau.

# timeout 5 ping google.com

Timeout Ping Command in Linux png

Nếu bạn muốn sử dụng theo giờ hoặc phú thì có thể đổi sang các hậu tố:

  • m là số phú
  • h là số giờ
  • d là số ngày

Một số lệnh vẫn tiếp tục chạy sau khi timeout gửi tín hiệu dứng vì quá giờ. Trường hợp này ta phải sử dụng thêm tùy chọn --kill-after.

-k, --kill-after=DURATION

Bạn cần chỉ định khoảng thời gian để cho timeout biết sau bao lâu thì tín hiệu kết thúc sẽ được gửi.

Ví dụ: lệnh hiển thị sẽ kết thúc sau 8 giây.

# timeout 8s tail -f /var/log/syslog

Set Time Limit to Commands png

II. Giới hạn thời gian chạy bằng Timelimit

Timelimit sẽ chạy một lệnh, sau đó kết thúc quá trình sau một thời gian bằng cách sử dụng một tín hiệu. Ban đầu, nó chuyển một tín hiệu cảnh báo, và sau thời gian chờ nó sẽ gửi tín hiệu hủy.

Không giống như timeout, Timelimit có nhiều tùy chọn hơn như killsig, warnsig, killtime warntime.

Timelimit có thể được tìm thấy trong repo của Debian, và để cài đặt nó thì hãy sử dụng lệnh sau.

$ sudo apt install timelimit

Đối với các hệ thống dựa trên Arch, bạn có thể cài đặt nó bằng các chương trình trợ giúp AUR, ví dụ: Pacaur PacmanPacker.

# Pacman -S timelimit
# pacaur -S timelimit
# packer -S timelimit

Trên các phiên bản khác của Linux, bạn có thể download timelimit source và cài đặt nó.

Sau khi cài đặt xong là bạn có thể sử dụng được rồi đấy. Ví dụ sau mình đã sử dụng 10s.

$ timelimit -t10 tail -f /var/log/pacman.log

Lưu ý: Nếu bạn không chỉ định thời gian thì Timelimit sẽ sử dụng các giá trị mặc định gồm:

  • warntime=3600s
  • warnsig=15s
  • killtime=120s
  • killsig=9

Lệnh Timeout rất dễ sử dụng, tuy nhiên tiện ích Timelimit hơi phức tạp nhưng có nhiều lựa chọn hơn. Bạn có thể lựa chọn phương án phù hợp nhất tùy theo nhu cầu của mình.

Qua bài này bạn đã biết cách sử dụng hai công cụ là timeout timelimit để giới hạn thời gian chạy của một lệnh Linux nào đó. Chúc bạn thành công!

Cùng chuyên mục:

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách sử dụng lệnh kill trong Linux

Cách sử dụng lệnh kill trong Linux

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không…

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách dùng lệnh basename trong Linux

Cách dùng lệnh basename trong Linux

basename là một tiện ích dòng lệnh (command line) dùng để lấy ...

Cách sử dụng lệnh gzip trên Linux

Cách sử dụng lệnh gzip trên Linux

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép…

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Vòng lặp while trong Shell Script

Vòng lặp while trong Shell Script

Trong Linux script, vòng lặp while được sử dụng trong ...

Top