Một điều có thể thú vị bạn có thể làm là sử dụng song song gnu: http://www.gnu.org/s/parallel/ Ví dụ, nếu bạn bạn đã rẽ các trang web:
stackoverflow.com, stackexchange.com, fogcreek.com
bạn có thể làm một cái gì đó như thế này
(echo stackoverflow.com; echo stackexchange.com; echo fogcreek.com) | parallel -k your_spider_script
và đầu ra được đệm theo song song và vì tùy chọn -k được trả lại cho bạn theo thứ tự danh sách trang web ở trên. Một ví dụ thực tế (về cơ bản sao chép từ screencast song song 2):
~ $ (echo stackoverflow.com; echo stackexchange.com; echo fogcreek.com) | parallel -k ping -c 1 {}
PING stackoverflow.com (64.34.119.12): 56 data bytes
--- stackoverflow.com ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
PING stackexchange.com (64.34.119.12): 56 data bytes
--- stackexchange.com ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
PING fogcreek.com (64.34.80.170): 56 data bytes
64 bytes from 64.34.80.170: icmp_seq=0 ttl=250 time=23.961 ms
--- fogcreek.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 23.961/23.961/23.961/0.000 ms
Dù sao, YMMV
* InRe: Đóng phiếu bầu * Cách tôi thấy "Hoạt động Foo có an toàn để sử dụng đồng thời trong ngôn ngữ Bar không?" là một câu hỏi lập trình mỗi lần. Trong trường hợp này Foo là đường dẫn đầu vào cho std [in, err] và Bar là một số shell unix. Phải nói rằng tôi nghĩ rằng nó nên ở lại. – dmckee