Xargs และ Wget หยุดทำงานหลังจากผ่านไปหนึ่งชั่วโมง


8

ใช้งานสคริปต์กับ Cygwin บน Windows XP พร้อม Dual Core และ 4GB Ram

cat url_list.txt | xargs -P50 wget -i

ฉันพยายามที่จะลากผ่าน4GBของURL ที่ดาวน์โหลด (ประมาณ 43 ล้านบาท)

ใช้งานได้ดีประมาณหนึ่งชั่วโมงจากนั้น Bash shell และการดาวน์โหลดจะหยุดลงแม้ว่าจะมีเพียง 2% ผ่านรายการ URL

มีความคิดเห็นอะไรที่ผิดหรือเปล่า?

วิธีที่ดีที่สุดในการแก้ปัญหาคือเหตุใดจึงหยุดหลังจากผ่านไปหนึ่งชั่วโมง

คำตอบ:


2

เป็นไปได้ว่า wget นั้นใช้เวลาในการดาวน์โหลดไฟล์บางไฟล์ มีกระบวนการ wget / xargs ในหน่วยความจำในช่วงเวลาที่ดูเหมือนว่าจะหยุดทำงานหรือไม่? ถ้าเป็นเช่นนั้นมันเป็นกระบวนการ 50 อย่างเต็มรูปแบบตามที่คุณจัดสรรด้วยแฟล็ก -P50 เป็น xargs หรือทำให้เกิดการคืบหน้ามากกว่าจำนวนนั้นหรือน้อยกว่าจำนวนนั้นและไม่มีอินสแตนซ์ใหม่เกิดขึ้นอย่างเหมาะสมหรือไม่ แม้ว่ามันจะถูกเรียกใช้ภายใต้ cygwin แต่ให้ดูรายการกระบวนการใน windows ด้วยตัวเองเนื่องจากการดาวน์โหลด wget แต่ละครั้งควรเปิดตัวอินสแตนซ์ในตัวจัดการงาน


0

ฉันถือว่า URL นั้นมีไว้สำหรับไซต์ต่างๆ ในกรณีนี้คุณอาจเข้าชมไซต์ที่ตอบสนองช้าและจะแขวนหนึ่งในวิดเจ็ตของคุณ เมื่อคุณมีการใช้งาน 50 คุณจะต้องเข้าชม 50 ไซต์เหล่านั้นก่อนที่จะไม่มีอะไรเกิดขึ้น

หากต้องการดูว่าเป็นกรณีนี้ให้ลองฆ่าหนึ่งในวิดเจ็ตที่ลอยอยู่และดูว่าอันนั้นเปิดออกแล้วหรือไม่

หากต้องการข้าม URL ที่แฮงค์คุณสามารถหมดเวลาได้โดยทำดังนี้

wget -T 60
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.