科研人員如何避免自己的計算程序在運行的時候被系統重啟打斷

科研人員如何避免自己的計算程序在運行的時候被系統重啟打斷

來自專欄 vczh的日常162 人贊了文章

有兩種辦法。

NOTICE:熟練掌握第二種辦法,有可能導致貴機構因為長時間跑計算不結束而被類似wannacry等,開始運行程序的時候還沒被發現的病毒入侵,更新裝得太慢,所有工作毀於一旦。

一、把自己的程序編譯為Windows Service而不是普通應用程序,然後你喜歡用NETWORK SERVICE啟動也可以,用自己的賬號啟動也可以。Windows可以設置為重啟的時候讓用戶自動登陸(仍然保持鎖屏狀態)。這樣你的Windows Service就可以隨著系統重啟的時候繼續運行。你只要把程序寫成像斷點續傳那樣的就可以,重啟的時候之前計算過的東西可以盡量恢復。

二、自己監聽操作系統關機的信號,然後調用ShutdownBlockReasonCreate和ShutdownBlockReasonDestroy。後面那個API如果你不在事情做完的時候調用的話,會導致Windows無法關機,代碼好好寫(逃

Easy!

至於大家下片也是一樣的。一個合格的P2P軟體,會使用第一種辦法,安裝的時候替你把這些步驟做完。這樣的軟體,不管Windows是因為你想要安裝軟體重啟,還是你踢了機箱的Reset按鈕,都會完美完成任務。除非你開機後進了安全模式。

推薦閱讀:

學生評教如何走出尷尬境地
腳臭鹽為什麼會散髮腳臭味?
閱覽同仁話科研
在出版社、學術期刊當編輯是一種怎樣的體驗?
山東農業大學出品的微電影《蘋果從哪兒來》能給山農帶來什麼 ?

TAG:科研 | 編程 | Windows10 |