Saya mempunyai beberapa program perangkak ular sawa yang perlu dijalankan secara berterusan, tetapi setiap kali ia menjadi tidak responsif selepas berjalan selama dua hari Setiap kali ia disekat pada masa.sleep(60), tetapi proses itu tidak mati C dalam konsol, anda tidak boleh keluar dari program Anda hanya boleh memaksa keluar dalam pengurus tugas.
Apakah sebabnya? dan bagaimana untuk menyelesaikan masalah ini?
Terima kasih terlebih dahulu, warga emas!
Cadangan analisis masalah:
linux
: 可以尝试通过strace
命令追踪进程状态, 根据输出的内容做分析,或者通过proc
对应目录的文件对进程的各项指标做分析!Ctrl-C
Tidak sah, disyaki proses memasuki tidur tanpa gangguan Kita perlu melihat data sebenar yang diperolehi untuk mengetahui butirannya: Cari proses yang sepadan melalui pengurus tugas, klik kanan -> Cipta fail dump, analisa fail dump untuk mengetahui sama ada anda boleh mengetahui puncanya.
windows
: Simpan log terperinci tentang kemajuan merangkak, sama ada pautan atau pengecualian yang ditemui, adalah lebih baik untuk merekodkannya supaya anda boleh mengetahui masa berhenti khusus dan kemajuan rangkak itu pada kali seterusnya Anda boleh memfokus mengenai kemajuan ini dahulu dan kemudian menganalisisnya secara mendalam.
爬虫程序
Untuk sistem Linux, cuba gunakan crontab untuk melakukan tugas berjadual
Untuk Windows, gunakan penjadual tugas