Jalankan perintah untuk waktu tertentu dan batalkan jika waktu melebihi


47

Saya ingin tahu bagaimana saya dapat menjalankan perintah untuk waktu tertentu, katakan, satu menit dan jika tidak menyelesaikan eksekusi maka saya harus dapat menghentikannya.

Jawaban:


62

Gunakan timeout:

NAME
       timeout - run a command with a time limit

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

(Untuk berjaga-jaga, jika Anda tidak memiliki perintah ini atau jika Anda harus kompatibel dengan cangkang yang sangat tua dan memiliki beberapa persyaratan khusus lainnya ... lihat pertanyaan ini ;-))


1
Sempurna, terima kasih telah menautkan ke pertanyaan itu. Saya tidak memiliki batas waktu pada sistem saya tetapi sekarang saya lakukan. Hanya sebagai catatan, apakah batas waktu dibundel dengan sebagian besar distribusi linux?
nikhil

1
Sangat keren. Anda dapat melakukan sesuatu seperti ini: for i in `seq 0 3`; do timeout 2 ethtool -p eth$i; done;untuk berkedip LED di NIC
user1527227

1
Perintah yang seksi. Terima kasih telah menunjukkannya, tidak menyadarinya.
Bruno Bieri
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.