Tại sao có độ trễ 6 giây rất dài khi bắt đầu Curl


9

Tôi đã cài đặt đầy đủ Cygwin trên máy Windows 7 x64. Sau mỗi lần khởi động lại máy, Curl có thể mất khoảng 6 giây để bắt đầu (ngay cả khi không có tùy chọn dòng lệnh nào được chỉ định). Về việc sử dụng Curl sau đó, không có sự chậm trễ. Có vẻ như một DLL đang được khởi tạo hay? Có ai khác thấy điều đó và điều này là bình thường?


1
Có thể là Cygwin DLL tự khởi tạo, nếu không có quá trình Cygwin nào được bắt đầu trước đó. Làm thế nào bạn gọi curl - từ Windows shell, hoặc từ Cygwin bash? Bạn có bật bất kỳ dịch vụ Cygwin nào hay bất kỳ lệnh Cygwin nào chạy khi khởi động hoặc đăng nhập không?
Aaron Miller

Tôi đang gọi nó từ dấu nhắc cmd của Windows (không phải từ bash). Tôi chưa cấu hình bất kỳ dịch vụ nào khác để bắt đầu. Tôi đã tái tạo sự cố trên các máy khác bao gồm Windows XP 32 bit vì vậy tôi nghĩ rằng đây có thể là thời gian bình thường để khởi động nhưng tôi muốn xác nhận điều này.
dùng265445

Câu trả lời:


7

Điều này là bình thường; lần đầu tiên DLL Cygwin chạy, nó thực hiện một số bước khởi tạo , có thể có khả năng tốn thời gian, để thiết lập môi trường Cygwin. Việc khởi tạo này xảy ra lần đầu tiên sau khi hệ thống khởi động mà một quy trình Cygwin được tạo ra, và thật không may, không có cách nào thực sự xung quanh nó.

Đề xuất tốt nhất tôi có thể đưa ra là sửa đổi sơ đồ khởi động hệ thống hoặc tập lệnh đăng nhập của bạn để tạo quy trình Cygwin để thời gian khởi tạo được "cuộn" tại thời điểm mà bạn đang chờ đợi trên hệ thống , thay vì xảy ra sau này khi bạn mong đợi phản hồi nhanh. Ví dụ: bạn có thể thêm một cái gì đó như sau, dưới dạng tệp bó, vào C:\Users\<your username>\AppData\Local\Microsoft\Windows\Start Menu\Programs\Startup:

c:\cygwin\bin\run.exe '/bin/bash -c "ls > /dev/null"'

Điều này sẽ khởi chạy một quá trình bash Cygwin, khá nhanh chóng không có gì và sau đó thoát ra, mà không hiển thị một cửa sổ trên bảng điều khiển của bạn - do đó buộc DLL Cygwin phải tải và tự khởi tạo, mà không tạo ra bất kỳ tác dụng phụ nào, và do đó cuối cùng khi bạn mở nhắc lệnh và chạy curl, thời gian khởi tạo sẽ xảy ra và bạn sẽ không thấy khó chịu khi chạy các lệnh tương tác.


Cảm ơn liên kết, điều đó giải thích sự chậm trễ mà tôi đã thấy.
dùng265445
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.