2012-07-12 35 views
14

Tôi đang sử dụng chương trình curl dòng lệnh và thú vị là tôi không thể tìm thấy thông số hết thời gian chờ cho dòng lệnh curl. Tôi đọc những trang người đàn ông để uốn cong và googled nhưng vẫn không thể tìm thấy một. Các libcurl có tham số thời gian chờ (CURLOPT_TIMEOUT) nhưng đó không phải là những gì tôi đang tìm kiếm. Tôi đang tìm tham số dòng lệnh curl timeout.tham số dòng lệnh curl thời gian chờ

Có tham số --max-time là khoảng thời gian tối đa để giữ kết nối mở và --connect-timeout dành cho giai đoạn kết nối curl, nhưng không có thời gian chờ thông thường.

Có ai biết về thông số này không?

+0

Ý của bạn là gì theo "thời gian chờ bình thường". – msw

+0

nói rằng tôi đang cố gắng tải xuống một tệp lớn với curl và nói phải mất 1 giờ để tải xuống. Vì vậy, tôi nên đặt thời gian chờ hơn 1 giờ. Đó là thời gian chờ mà tôi đang đề cập đến. – user1519575

Trả lời

4

Trên un * x, bạn có lệnh hết thời gian chờ. thử:

timeout -s SIGTERM 3600 curl --your arguments here 

gửi SIGTERM sau 3600 giây để kết thúc nếu, nếu nó tôn trọng nó. Luôn luôn tốt hơn SIGKILL tàn bạo theo mặc định có thể làm hỏng tệp của bạn được tải xuống ở mức 99%: ¬)

+1

Hai vấn đề với điều này. (1) thời gian chờ này sẽ áp dụng cho toàn bộ hoạt động curl bao gồm độ phân giải DNS, kết nối và chờ trả lời. Sử dụng các tham số '--connect-timeout' và' --max-time' cung cấp điều khiển chi tiết hơn và giữ luồng kiểm soát trong chính 'curl'; và (2) trên mọi * nix tôi đã kiểm tra, cú pháp đúng là '-s SIGTERM' hoặc' --signal = SIGTERM', không phải '-SIGTERM'. –

+0

cảm ơn, tôi đã sửa phần -s –

29

Tùy chọn --max-time thực hiện chính xác những gì bạn cần: "Thời gian tối đa cho phép chuyển". Bạn chỉ nghĩ sai về nó.

Các vấn đề liên quan