Il programma Python si riavvia dopo che il pc si è svegliato?


15

Sto eseguendo un programma Python che richiede alcune ore per essere completato. Se chiudo il coperchio del laptop (ovvero lo metto in pausa), il programma si riavvierà quando riaprirò il laptop? Sono già passate alcune ore e devo partire presto (quindi devo chiudere il mio laptop) ma non voglio riavviare il processo. Il programma partirà dallo stesso identico punto? Qual è il comportamento predefinito in Ubuntu 16.04?

Cordiali saluti, sto eseguendo una convalida incrociata per un classificatore che non utilizza alcuna risorsa di rete - solo CPU e RAM.

Risposte:


29

La semplice risposta è sì, ma la verità è un po 'più complicata.

Sì, l'applicazione sarà ancora in esecuzione; riprenderà con il resto dei processi del sistema. Vi sono, tuttavia, cose stateful come connessioni di rete e stati dei driver grafici. Questi devono reinizializzarsi con hardware esterno e ciò può significare per cominciare un po 'di latenza di rete aggiuntiva o persino una corretta disconnessione-riconnessione (come accade a me su Ethernet). In situazioni particolarmente avverse - eccezioni decisamente alla regola - l'intero ambiente desktop può bloccarsi e riavviarsi.

Quindi non posso garantire cosa ti succederà. Se l'applicazione si arresta in modo anomalo se perde la connettività di rete, potrebbe esserci un problema. Se sta eseguendo il rendering o roba CUDA / OpenCL, potrebbe rompersi.

Se è solo una semplice roba CPU / disco, dovrebbe andare bene.
Ma chi lo sa per certo. I computer ci prendono in giro tutti.
In bocca al lupo.


Avevi ragione, il mio programma è ricominciato dopo che ho aperto il mio laptop e alla fine ha terminato l'esecuzione come previsto. OT: Dal momento che mi ci è voluto (è tornato 23 ore), pensi che si riferisca al tempo di esecuzione o alla semplice differenza tra l'ora di fine e l'ora di inizio? O non è possibile dirlo?
BourbonCreams

Vuoi dire che l'hai eseguito con il timebuiltin? es.time ./myscript.py
Oli

No, il metodo che sto usando (cross_validation.cross_val_score) con il parametro verbose impostato su True viene stampato alla fine della precisione e del tempo di esecuzione.
BourbonCreams il

"I computer ci prendono in giro tutti." Così vero!
Paddy Landau,

6

Quando sospendi il sistema (mettilo in standby), memorizza tutti i suoi registri della CPU ecc. Che rappresentano ciò che sta attualmente facendo nella RAM e quindi spegne la maggior parte dei componenti tranne quelli che conservano il contenuto della RAM e quelli necessari per riattivare il computer più tardi (dispositivi di input, ecc.).

Quando lo riattivi più tardi, lo stato precedente viene ripristinato e il computer continua esattamente nel punto in cui lo hai sospeso.

Questo è il concetto principale, ovviamente nella realtà succede di più perché tutto ciò non accade magicamente quando si schioccano le dita. Ci sono molti script di sistema ecc. Coinvolti che vengono eseguiti prima di sospendere e dopo essersi svegliati.

Tuttavia, a meno che non si imposti manualmente qualcosa per farlo, la sospensione del computer non chiuderà mai alcuna applicazione in esecuzione. C'è un piccolo rischio che qualcosa si blocchi durante il processo, ma normalmente se ha funzionato una volta, funziona sempre.


2

Se il laptop va a dormire (= sospendi), sicuramente sì. L'unica cosa che può essere interrotta sono le connessioni di rete o cose simili, in tempo reale; in tal caso, dipende se il programma in esecuzione viene scritto in modo sicuro per accettare errori temporanei e ripristinarlo.

Se il laptop si spegne , sicuramente no --- c'è un'opzione da qualche parte nel Pannello di controllo per decidere tra i due comportamenti, penso.


2

Se vuoi essere sicuro, puoi selezionare il tuo computer per non fare nulla in più quando il coperchio è chiuso, dalle opzioni di alimentazione nel pannello di controllo. Ciò significa che chiudere o aprire il coperchio non avrà alcun effetto sullo stato del computer. In questo modo è garantito che qualsiasi programma verrà eseguito ininterrottamente.


2
Ma il tuo laptop potrebbe esaurire la batteria.
gatto
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.