Saya mencoba menjalankan sesuatu seperti:
sudo dhclient $wifi || otherFunction
Masalahnya adalah ketika dhclient
gagal itu hanya hang bukannya melempar kesalahan.
Bagaimana saya bisa menulis ulang di atas sehingga dhclient
terbunuh dan otherFunction
dipanggil jika dhclient
tidak selesai dalam 60 detik?
timeout
untuk MacOS: stackoverflow.com/a/21118126/451480timeout
membunuh perintah (yang bertentangan dengan perintah gagal karena alasan lain), periksa status keluar 124.Gunakan
timeout
.sumber
Gunakan paket
timeout
sepertigtimeout
padacoreutils
port dibrew
:Itu akan bekerja dengan
/usr/local/bin
AndaPATH
. Jika Anda ingin menggunakantimeout
seperti aslinya, tambahkan/usr/local/opt/coreutils/libexec/gnubin
kePATH
.sumber