Trong một số trường hợp, khi ủy thác công việc cho một quy trình bên ngoài, sẽ rất hữu ích khi đặt thời gian chờ cho lệnh để ngăn Emacs treo vô thời hạn.
Thật không may, sau đây không hoạt động.
(with-timeout (1 nil)
(call-process "/usr/bin/bash" nil t nil "-c" "sleep 10"))
Cũng vậy shell-command
.
Có cách nào để đặt thời gian chờ cho các quy trình đồng bộ này không?
Đó là, tôi muốn quá trình tự động bị hủy nếu nó không kết thúc trong một số giây nhất định. Điều đó có thể không?
call-process
trên là cài đặt đầu ra được in trên bộ đệm hiện tại (Tôi nhận được hiệu ứng tương tự nếu tôi chuyển một bộ đệm đầu ra khác). Đó có phải là ý bạn không?
call-process
nguồn, nhưng bây giờ tôi bắt đầu nghi ngờ rằng không có cách nào để giết nó khi hết thời gian.
with-timeout
, nhưng tôi đã sử dụngkill-process
vàdelete-process
.