Cara Menghentikan Masa Perintah dalam Bash Tanpa Kelewatan yang Tidak Perlu

Cara Menghentikan Masa Perintah Dalam Bash Tanpa Kelewatan Yang Tidak Perlu



Dalam Bash, kadangkala anda mungkin perlu menjalankan arahan yang mengambil masa yang lama untuk disiapkan, dan anda mungkin tidak mahu menunggu sehingga ia selesai selama-lamanya. Satu penyelesaian kepada masalah ini ialah menggunakan perintah tamat masa yang mengehadkan jumlah masa arahan boleh dijalankan. Artikel ini, akan membincangkan cara untuk tamat masa perintah dalam Bash tanpa kelewatan yang tidak perlu.

Tamat masa perintah dalam Bash

Untuk tamat masa perintah dalam Bash, kita boleh menggunakan 'masa tamat' perintah. Arahan 'masa tamat' tidak tersedia secara lalai pada semua sistem, tetapi ia boleh dipasang menggunakan pengurus pakej pada kebanyakan pengedaran Linux, berikut ialah sintaks perintah 'masa tamat':







masa tamat [ PILIHAN ] PERINTAH TEMPOH [ ARG ]


Di sini 'OPTION' ialah hujah pilihan yang menentukan gelagat perintah tamat masa, 'DURATION' ialah had masa untuk perintah itu dijalankan dan 'COMMAND [ARG]' ialah perintah dan hujahnya yang ingin kita jalankan.



Sebagai contoh, katakan kita mahu menjalankan perintah 'tidur' selama lima saat, tetapi kita mahu tamat masa arahan selepas tiga saat dan berikut ialah contoh skrip shell:



#!/bin/bash
bergema 'Memulakan arahan tidur dengan tamat masa 3 saat...'
tamat masa 3s tidur 5s
bergema 'Arahan tidur selesai.'


Di sini saya telah menentukan tempoh tamat masa sebagai 3 saat, dan tempoh arahan 'tidur' sebagai 5 saat. Perintah 'timeout' akan menghentikan arahan 'sleep' selepas 3 saat, walaupun arahan 'sleep' biasanya berjalan selama 5 saat.






Untuk mengelakkan kelewatan yang tidak perlu apabila menggunakan arahan 'masa tamat', kita boleh menggunakan pilihan '-k'. Pilihan '-k' menentukan isyarat yang akan dihantar kepada arahan jika ia melebihi had tamat masa. Isyarat ini akan menyebabkan perintah ditamatkan serta-merta, dan bukannya menunggu ia selesai dengan anggun.

Sebagai contoh, katakan kita mahu menjalankan perintah 'tidur' selama lima saat, tetapi kita mahu tamat masa perintah selepas tiga saat dan menghantar isyarat SIGINT jika ia melebihi had tamat masa. Kita boleh melakukan ini dengan menjalankan arahan berikut:



#!/bin/bash
bergema 'Memulakan arahan tidur dengan tamat masa 3 saat dan isyarat SIGINT selepas 2 saat”
tamat masa -k 2s 3s tidur 5s
bergema'
tidur perintah selesai. '


Di sini saya telah menentukan tempoh tamat masa sebagai 3 saat dan isyarat untuk dihantar sebagai SIGINT jika ia melebihi had tamat masa. Pilihan '-k 2s' menentukan bahawa isyarat SIGINT harus dihantar selepas dua saat dari had tamat masa.

Kesimpulan

Perintah tamat masa dalam Bash ialah alat berguna yang boleh membantu anda menjalankan arahan dengan lebih cekap dan mengelakkan kelewatan yang tidak perlu. Dengan menggunakan arahan 'masa tamat' dan pilihan '-k', anda boleh mengehadkan jumlah masa perintah boleh dijalankan dan menghantar isyarat untuk menamatkannya serta-merta jika ia melebihi had tamat masa. Ini akan membantu anda menjimatkan masa dan menjalankan skrip anda dengan lebih cekap.