Program python mulai berjalan lagi setelah pc bangun?

15

Saya menjalankan program python yang membutuhkan waktu beberapa jam untuk menyelesaikannya. Jika saya menutup tutup laptop saya (yaitu saya menidurkannya), apakah program akan mulai lagi ketika saya membuka kembali laptop saya? Sudah beberapa jam dan saya harus segera pergi (jadi saya harus menutup laptop saya) tetapi saya tidak ingin memulai proses lagi. Apakah program akan dimulai dari titik yang sama persis? Apa perilaku default di Ubuntu 16.04?

Fyi, saya menjalankan validasi silang untuk classifier yang tidak menggunakan sumber daya jaringan apa pun - hanya CPU dan RAM.

BourbonCreams
sumber

Jawaban:

29

Jawaban sederhananya adalah ya tetapi kebenarannya sedikit lebih rumit.

Ya, aplikasi akan tetap berjalan; itu akan dilanjutkan dengan sisa proses sistem. Namun, ada hal-hal stateful seperti koneksi jaringan dan status driver grafis. Ini perlu diinisialisasi ulang dengan perangkat keras eksternal dan itu mungkin berarti beberapa latensi jaringan tambahan untuk memulainya, atau bahkan putuskan-kembali koneksi yang tepat (seperti yang terjadi pada saya di Ethernet). Dalam situasi yang sangat buruk — khususnya pengecualian pada aturan — seluruh lingkungan desktop dapat macet dan mulai ulang.

Jadi saya tidak bisa menjamin apa yang akan terjadi pada Anda. Jika aplikasi Anda akan mogok jika kehilangan konektivitas jaringan, mungkin ada masalah. Jika melakukan rendering atau hal-hal CUDA / OpenCL, mungkin rusak.

Jika itu hanya hal-hal CPU / disk biasa, itu harus baik-baik saja.
Tapi siapa yang tahu pasti. Komputer membodohi kita semua.
Semoga berhasil.

Oli
sumber
Anda benar, program saya mulai lagi setelah saya membuka laptop saya dan akhirnya selesai seperti yang diharapkan. OT: Karena waktu yang diperlukan bagi saya (kembali 23 jam), apakah Anda pikir itu merujuk pada waktu berjalan atau hanya perbedaan antara waktu berakhir dan waktu mulai? Atau tidak mungkin mengatakannya?
BourbonCreams
Maksudmu kau menjalankannya dengan timebuiltin? mistime ./myscript.py
Oli
Tidak, metode yang saya gunakan (cross_validation.cross_val_score) dengan parameter verbose disetel ke True print out pada akurasi akhir dan waktu berjalan.
BourbonCreams
"Komputer membodohi kita semua." Benar sekali!
Paddy Landau
6

Ketika Anda menangguhkan sistem (menidurkannya), ia menyimpan semua register CPU, dll. Yang mewakili apa yang sedang dilakukan di RAM Anda dan kemudian mematikan sebagian besar komponen kecuali komponen yang mempertahankan konten RAM dan komponen yang diperlukan untuk membangunkan komputer lagi nanti (perangkat input, dll).

Ketika Anda membangunkannya kembali lagi, keadaan sebelumnya akan dipulihkan dan komputer melanjutkan tepat pada titik di mana Anda telah menangguhkannya.

Itu adalah konsep utama, tentu saja dalam kenyataannya terjadi lebih banyak karena semua ini tidak terjadi secara ajaib ketika memotong jari-jari Anda. Ada banyak skrip sistem dll yang terlibat yang dijalankan sebelum menangguhkan dan setelah bangun.

Namun, kecuali Anda secara manual mengatur sesuatu untuk melakukan itu, menangguhkan komputer tidak akan pernah menutup aplikasi yang sedang berjalan. Ada risiko kecil bahwa sesuatu macet dalam proses, tetapi biasanya jika berhasil satu kali, ia selalu bekerja.

Komandan Byte
sumber
2

Jika laptop tidur (= tunda), pasti ya. Satu-satunya hal yang dapat terganggu adalah koneksi jaringan atau sejenisnya, real-time; dalam hal itu, itu tergantung apakah program yang berjalan ditulis dengan aman untuk menerima kegagalan sementara dan pulih.

Jika laptop mati , pasti tidak ada --- ada opsi di suatu tempat di Panel Kontrol untuk memutuskan antara dua perilaku, saya pikir.

Rmano
sumber
2

Jika Anda ingin memastikan, Anda dapat memilih komputer Anda untuk tidak melakukan apa-apa lagi ketika tutupnya ditutup, dari opsi daya di panel kontrol. Itu berarti menutup atau membuka tutupnya tidak akan berpengaruh pada kondisi komputer Anda. Dengan begitu dijamin bahwa program apa pun akan berjalan tanpa gangguan.

atakanyenel
sumber
2
Tetapi laptop Anda mungkin kehabisan baterai.
kucing