delete釋放指針 進(jìn)程退出時有沒有必要進(jìn)行一些清理工作?
進(jìn)程退出時有沒有必要進(jìn)行一些清理工作?我們不知道系統(tǒng)的內(nèi)部行為,所以手動清理是一個很好的編程習(xí)慣,正如您所提到的,內(nèi)核句柄、文件句柄、Winsock等等,對于程序中打開的對象,系統(tǒng)必須保存信息,并在進(jìn)
進(jìn)程退出時有沒有必要進(jìn)行一些清理工作?
我們不知道系統(tǒng)的內(nèi)部行為,所以手動清理是一個很好的編程習(xí)慣,正如您所提到的,內(nèi)核句柄、文件句柄、Winsock等等,對于程序中打開的對象,系統(tǒng)必須保存信息,并在進(jìn)程退出后幫助您釋放。然而,一般來說,我們并不知道系統(tǒng)的內(nèi)部行為。如果文件是以緩沖區(qū)模式寫入的,并且進(jìn)程調(diào)用ExitProcess退出,則不能保證系統(tǒng)將寫入緩沖區(qū)硬盤的內(nèi)容。
再舉一個例子,當(dāng)網(wǎng)絡(luò)通信中涉及到安全信息時,必須記住清除緩沖區(qū)以避免泄漏。另外,與C語言中的malloc函數(shù)一樣,雖然程序退出后應(yīng)用的內(nèi)存會被系統(tǒng)回收,但當(dāng)多個進(jìn)程運(yùn)行時,可能內(nèi)存不足。因此,有些物品不用時,應(yīng)及時清理。當(dāng)然,這只是個人觀點(diǎn),但手動清理是一個很好的編程習(xí)慣。
電腦里面的進(jìn)程該刪除那些不該刪除那些?
首先,進(jìn)程只能終止,不能刪除。其次,由于每臺計算機(jī)的軟硬件環(huán)境并不完全一致,沒有一個通用的判斷標(biāo)準(zhǔn)來判斷哪個進(jìn)程有問題。而一旦出現(xiàn)問題的進(jìn)程,僅僅終止進(jìn)程并不能完全解決問題,還需要刪除相應(yīng)的程序文件和注冊表項(xiàng)、計劃任務(wù)項(xiàng)或系統(tǒng)服務(wù)項(xiàng)。最后,終止進(jìn)程可以使用系統(tǒng)自己的任務(wù)管理器,但是對于頑固的進(jìn)程,可以使用諸如ice blade之類的輔助程序來終止。