โปรแกรม Python เริ่มทำงานอีกครั้งหลังจากที่พีซีกลับมาทำงานหรือไม่


15

ฉันใช้งานโปรแกรมไพ ธ อนซึ่งใช้เวลาสองสามชั่วโมง หากฉันปิดฝาแล็ปท็อปของฉัน (เช่นฉันปิดเครื่อง) โปรแกรมจะเริ่มทำงานอีกครั้งเมื่อฉันเปิดแล็ปท็อปใหม่หรือไม่ เวลาผ่านไปไม่กี่ชั่วโมงและฉันต้องจากไปเร็ว ๆ นี้ (ดังนั้นฉันต้องปิดแล็ปท็อปของฉัน) แต่ฉันไม่ต้องการเริ่มกระบวนการใหม่อีกครั้ง โปรแกรมจะเริ่มจากจุดเดียวกันแน่นอนหรือไม่ พฤติกรรมเริ่มต้นใน Ubuntu 16.04 คืออะไร?

ใช่ฉันใช้การตรวจสอบไขว้สำหรับลักษณนามซึ่งไม่ได้ใช้ทรัพยากรเครือข่ายใด ๆ - เฉพาะ CPU และ RAM

คำตอบ:


29

คำตอบง่ายๆคือใช่แต่ความจริงซับซ้อนกว่าเล็กน้อย

ใช่แอปพลิเคชันยังคงทำงานอยู่ มันจะกลับมาพร้อมกับกระบวนการที่เหลือของระบบ อย่างไรก็ตามมีสิ่งต่าง ๆ เช่นการเชื่อมต่อเครือข่ายและสถานะไดรเวอร์กราฟิก สิ่งเหล่านี้จำเป็นต้องเริ่มต้นใหม่ด้วยฮาร์ดแวร์ภายนอกและนั่นอาจหมายถึงความหน่วงแฝงของเครือข่ายที่เพิ่มเข้ามาเพื่อเริ่มต้นหรือแม้กระทั่งการยกเลิกการเชื่อมต่อที่เหมาะสม ในสถานการณ์ที่เลวร้ายโดยเฉพาะ - ยกเว้นกฎอย่างแน่นอน - สภาพแวดล้อมเดสก์ท็อปทั้งหมดสามารถหยุดทำงานและรีสตาร์ทได้

ดังนั้นฉันไม่สามารถรับประกันได้ว่าจะเกิดอะไรขึ้นกับคุณ หากแอปพลิเคชันของคุณจะทำงานล้มเหลวหากขาดการเชื่อมต่อเครือข่ายอาจมีปัญหา หากกำลังทำการเรนเดอร์หรือ CUDA / OpenCL สิ่งต่าง ๆ มันอาจแตก

หากเป็นเพียง CPU / ดิสก์ธรรมดามันควรจะดี
แต่ใครจะรู้แน่นอน คอมพิวเตอร์ทำให้คนโง่ของเราทุกคน
โชคดี.


คุณพูดถูกโปรแกรมของฉันเริ่มทำงานอีกครั้งหลังจากเปิดแล็ปท็อปและในที่สุดก็ทำงานได้ตามที่คาดไว้ OT: ตั้งแต่เวลาที่สำคัญสำหรับฉัน (มันกลับมา 23 ชั่วโมง) คุณคิดว่าหมายถึงเวลาทำงานหรือความแตกต่างระหว่างเวลาสิ้นสุดและเวลาเริ่มต้นหรือไม่? หรือเป็นไปไม่ได้ที่จะบอกเล่า?
BourbonCreams

คุณหมายถึงคุณวิ่งไปกับtimebuiltin หรือไม่? เช่นtime ./myscript.py
Oli

ไม่ได้วิธีที่ฉันใช้ (cross_validation.cross_val_score) โดยใช้พารามิเตอร์ verbose ที่ตั้งค่าเป็น True พิมพ์ออกมาที่ความแม่นยำและเวลาสิ้นสุด
BourbonCreams

"คอมพิวเตอร์ทำให้คนโง่เป็นพวกเราทั้งหมด" จริงจัง!
Paddy Landau

6

เมื่อคุณหยุดการทำงานของระบบ (เก็บไว้ที่สลีป) จะเก็บ CPU register ทั้งหมดที่แสดงถึงสิ่งที่กำลังทำอยู่ใน RAM ของคุณจากนั้นให้ปิดส่วนประกอบส่วนใหญ่ยกเว้นที่เก็บเนื้อหา RAM และสิ่งที่จำเป็นในการปลุกคอมพิวเตอร์ ขึ้นอีกครั้งในภายหลัง (อุปกรณ์อินพุต ฯลฯ )

เมื่อคุณปลุกในภายหลังอีกครั้งสถานะก่อนหน้าจะได้รับการกู้คืนและคอมพิวเตอร์จะดำเนินการตรงตามจุดที่คุณระงับไว้

นั่นคือแนวคิดหลักแน่นอนว่าในความเป็นจริงแล้วมันเกิดขึ้นได้มากขึ้นเพราะทั้งหมดนี้ไม่ได้เกิดขึ้นอย่างน่าอัศจรรย์เมื่อนิ้วมือของคุณ มีสคริปต์ระบบอื่น ๆ มากมายที่เกี่ยวข้องที่จะเรียกใช้ก่อนที่จะหยุดและหลังจากตื่นขึ้นมา

อย่างไรก็ตามหากคุณตั้งค่าบางอย่างไว้ด้วยตนเองการระงับคอมพิวเตอร์จะไม่ปิดแอปพลิเคชันที่ทำงานอยู่ มีความเสี่ยงเล็กน้อยที่บางสิ่งบางอย่างจะขัดข้องในกระบวนการ แต่โดยปกติหากทำงานครั้งเดียวก็จะทำงานตลอดเวลา


2

หากแล็ปท็อปเข้าสู่โหมดสลีป (= หยุดชั่วคราว) ใช่แน่นอน สิ่งเดียวที่สามารถหยุดชะงักได้คือการเชื่อมต่อเครือข่ายหรือสิ่งที่คล้ายคลึงกันแบบเรียลไทม์ ในกรณีนั้นขึ้นอยู่กับว่าโปรแกรมที่รันอยู่เขียนอย่างปลอดภัยเพื่อยอมรับความล้มเหลวชั่วคราวและการกู้คืน

หากแล็ปท็อปปิดอยู่แน่นอนไม่มี --- มีตัวเลือกที่ไหนสักแห่งในแผงควบคุมเพื่อตัดสินใจระหว่างพฤติกรรมทั้งสองฉันคิดว่า


2

หากคุณต้องการแน่ใจว่าคุณสามารถเลือกคอมพิวเตอร์ของคุณเพื่อไม่ทำอะไรเป็นพิเศษเมื่อปิดฝาจากตัวเลือกพลังงานในแผงควบคุม นั่นหมายถึงการปิดหรือเปิดฝาจะไม่มีผลกับสถานะของคอมพิวเตอร์ของคุณ ด้วยวิธีนี้รับประกันได้ว่าโปรแกรมใด ๆ จะทำงานได้อย่างต่อเนื่อง


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