Xargs और Wget एक घंटे के बाद काम करना बंद कर देता है


8

डुअल कोर और 4 जीबी रैम के साथ विंडोज एक्सपी पर सिगविन के साथ रनिंग स्क्रिप्ट

cat url_list.txt | xargs -P50 wget -i

मैं के माध्यम से ट्राउल कोशिश कर रहा हूँ 4GB की यूआरएल डाउनलोड करने के लिए (लगभग 43 लाख)

पहले घंटे के लिए ठीक काम करता है, फिर बैश शेल और डाउनलोड बंद हो जाता है, हालांकि URL सूची के माध्यम से इसका केवल 2%।

क्या गलत हो सकता है पर कोई विचार?

डिबग करने का सबसे अच्छा तरीका क्या है, यह एक घंटे के बाद क्यों रुक रहा है?

जवाबों:


2

यह संभव है कि कुछ फाइलों को डाउनलोड करने में समय लग रहा है। क्या इस अवधि के दौरान स्मृति में कोई भी wget / xargs प्रक्रिया है कि यह लटका हुआ प्रतीत होता है? यदि ऐसा है, तो क्या यह पूरी 50 प्रक्रियाएं हैं, जिन्हें आपने -50 ध्वज के साथ xargs को आवंटित किया है, या क्या यह किसी भी तरह से उस संख्या से अधिक है या उस संख्या से कम है और कोई नया उदाहरण ठीक से नहीं देखा जा रहा है? हालाँकि यह साइबरविन के तहत चलाया जा रहा है, लेकिन विंडोज़ में ही प्रक्रिया सूची पर एक नज़र डालें, क्योंकि प्रत्येक wget डाउनलोड को कार्य प्रबंधक में एक उदाहरण लॉन्च करना चाहिए।


0

मुझे लगता है कि URL विभिन्न साइटों के लिए हैं। उस स्थिति में आप उन साइटों को हिट कर सकते हैं जो प्रतिक्रिया देने में धीमी होती हैं और जो आपके किसी एक कार्य को लटकाएंगी। चूंकि आपके पास 50 चल रहे हैं, इसलिए आपको कुछ नहीं होने से पहले उन साइटों में से 50 को हिट करना होगा।

यह देखने के लिए कि क्या यह मामला फांसी की सजाओं में से एक को मारने की कोशिश करता है और यह देखने के लिए कि क्या वह तब अस्थिर है।

उन URL को छोड़ने के लिए जो आपको लटका सकते हैं, wget को एक समयबाह्य दे सकते हैं:

wget -T 60
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.