C++ 可執(zhí)行文件在無限情況下運(yùn)行的時(shí)間(任何時(shí)間限制)
c++c
C++ 可執(zhí)行文件在無限情況下運(yùn)行的時(shí)間(任何時(shí)間限制),c++,c,,exe,C++,C,,Exe,一點(diǎn)疑問我有一個(gè)應(yīng)用程序(exe)在無限循環(huán)中運(yùn)行,它執(zhí)行的時(shí)間。。我的意思是,如果我的系統(tǒng)開啟,它會執(zhí)行數(shù)年嗎。或者應(yīng)用程序運(yùn)行有任何時(shí)間限制(如果這個(gè)問題的位置不正確,請給我指出正確的參考)它將一直執(zhí)行,直到您重新啟動或以其他方式終止進(jìn)程如果它真的是一個(gè)無限循環(huán),你會很惱火地很快殺死它,因?yàn)槠渌麘?yīng)用程序會在機(jī)箱中遭受CPU不足的折磨。如果您是多核的,它不會破壞交易,但看到所有其他進(jìn)程都慢下來,它仍然是一個(gè)刺激因素。它將執(zhí)行,直到您重新啟動或以其他方式終止進(jìn)程如果它真的是一個(gè)無限循環(huán),
一點(diǎn)疑問我有一個(gè)應(yīng)用程序(exe)在無限循環(huán)中運(yùn)行,它執(zhí)行的時(shí)間。。我的意思是d3程序運(yùn)行發(fā)生意外,如果我的系統(tǒng)開啟,它會執(zhí)行數(shù)年嗎。或者應(yīng)用程序運(yùn)行有任何時(shí)間限制
(如果這個(gè)問題的位置不正確,請給我指出正確的參考)
它將一直執(zhí)行,直到您重新啟動或以其他方式終止進(jìn)程
如果它真的是一個(gè)無限循環(huán),你會很惱火地很快殺死它,因?yàn)槠渌麘?yīng)用程序會在機(jī)箱中遭受CPU不足的折磨。如果您是多核的,它不會破壞交易,但看到所有其他進(jìn)程都慢下來,它仍然是一個(gè)刺激因素。
它將執(zhí)行,直到您重新啟動或以其他方式終止進(jìn)程
如果它真的是一個(gè)無限循環(huán),你會很惱火地很快殺死它,因?yàn)槠渌麘?yīng)用程序會在機(jī)箱中遭受CPU不足的折磨。如果你是多核的,就不是一個(gè)交易破壞者,但看到其他一切都慢下來,仍然是一個(gè)刺激因素。
一個(gè)永遠(yuǎn)不會結(jié)束的程序?qū)⒃谟?jì)算機(jī)能夠運(yùn)行的時(shí)間內(nèi)運(yùn)行
但是,如果您的程序可能導(dǎo)致堆棧溢出或其他崩潰
(指將永遠(yuǎn)運(yùn)行的程序)
例如(關(guān)于崩潰程序,相當(dāng)確定這將實(shí)際崩潰)
一個(gè)永遠(yuǎn)不會結(jié)束的程序?qū)⒃谟?jì)算機(jī)能夠運(yùn)行的時(shí)間內(nèi)運(yùn)行
但是,如果您的程序可能導(dǎo)致堆棧溢出或其他崩潰
(指將永遠(yuǎn)運(yùn)行的程序)
例如(關(guān)于崩潰程序,相當(dāng)確定這將實(shí)際崩潰)
如果應(yīng)用程序在無限循環(huán)中運(yùn)行,即
while(1)
{
//...
}
如果遇到錯(cuò)誤并且代碼未正確處理,它將停止,否則它將無限期運(yùn)行
如果存在與操作系統(tǒng)相關(guān)的終止進(jìn)程的信號,它將終止。這可能是因?yàn)橛脩粼噲D手動終止進(jìn)程,也可能是因?yàn)橄到y(tǒng)內(nèi)存普遍不足。這些類型的操作系統(tǒng)信號通常是您無法控制的。但是,您可以實(shí)現(xiàn)一種方法來檢測進(jìn)程是否已終止(可能是通過使用子進(jìn)程),如果進(jìn)程意外終止,該方法將重新啟動/恢復(fù)進(jìn)程
如果將進(jìn)程添加到操作系統(tǒng)的啟動腳本中,則即使發(fā)生電源故障或可能導(dǎo)致重新啟動的其他類型的事件,也會覆蓋您。
如果應(yīng)用程序在無限循環(huán)中運(yùn)行,即
while(1)
{
//...
}
如果遇到錯(cuò)誤并且代碼未正確處理,它將停止,否則它將無限期運(yùn)行
如果存在與操作系統(tǒng)相關(guān)的終止進(jìn)程的信號,它將終止。這可能是因?yàn)橛脩粼噲D手動終止進(jìn)程,也可能是因?yàn)橄到y(tǒng)內(nèi)存普遍不足。這些類型的操作系統(tǒng)信號通常是您無法控制的。但是,您可以實(shí)現(xiàn)一種方法來檢測進(jìn)程是否已終止(可能是通過使用子進(jìn)程),如果進(jìn)程意外終止d3程序運(yùn)行發(fā)生意外,該方法將重新啟動/恢復(fù)進(jìn)程
如果將進(jìn)程添加到操作系統(tǒng)的啟動腳本中,則即使在發(fā)生電源故障或其他可能導(dǎo)致重新啟動的事件時(shí),您也會受到保護(hù)。
這將是一個(gè)永久程序。重新啟動或系統(tǒng)掛起將終止進(jìn)程,它將成為永久程序。重新啟動或系統(tǒng)掛起都會終止進(jìn)程,理論上它可以永遠(yuǎn)執(zhí)行。但是大多數(shù)復(fù)雜的程序并不是完全節(jié)省內(nèi)存的。它可能會在時(shí)間上消耗越來越多的內(nèi)存,并可能達(dá)到進(jìn)程內(nèi)存限制
在x86 系統(tǒng)上,通常是2GB,理論上可以永遠(yuǎn)執(zhí)行。但是大多數(shù)復(fù)雜的程序并不是完全節(jié)省內(nèi)存的。它可能會在時(shí)間上消耗越來越多的內(nèi)存,并可能達(dá)到進(jìn)程內(nèi)存限制
在x86 系統(tǒng)上,通常為2GB,只要提供了所有必需的資源,無限循環(huán)就會運(yùn)行
一個(gè)無限循環(huán)將運(yùn)行,只要它擁有所有必需的資源
如果我的系統(tǒng)開啟,它會執(zhí)行數(shù)年嗎
這取決于操作系統(tǒng)。可以配置Unix系統(tǒng)(使用
ulimit-t
),以便在占用一定的CPU時(shí)間后自動終止進(jìn)程
如果我的系統(tǒng)開啟,它會執(zhí)行數(shù)年嗎
這取決于操作系統(tǒng)。可以配置Unix系統(tǒng)(使用
ulimit-t
),以便進(jìn)程在消耗一定的CPU時(shí)間后自動終止。
簡單的答案是,它可能不會像您預(yù)期的那樣永遠(yuǎn)運(yùn)行
您的操作系統(tǒng)(尤其是較舊版本的)可能需要重新啟動—例如: 95和 98(現(xiàn)已修補(bǔ))中存在一個(gè)著名的錯(cuò)誤,導(dǎo)致這些系統(tǒng)在正常運(yùn)行49.7天后停止運(yùn)行()。我希望最新版本的不會出現(xiàn)這種問題
它還取決于操作系統(tǒng)的調(diào)度程序。大多數(shù)情況下可能會運(yùn)行高優(yōu)先級任務(wù)。我聽說過一些較舊的Unix系統(tǒng),在這些系統(tǒng)中,低優(yōu)先級的任務(wù)需要數(shù)年時(shí)間才能有機(jī)會運(yùn)行。無論如何,我們不會在桌面操作系統(tǒng)中遇到如此極端的情況
簡單的答案是,它可能不會像您預(yù)期的那樣永遠(yuǎn)運(yùn)行
您的操作系統(tǒng)(尤其是較舊版本的)可能需要重新啟動—例如: 95和 98(現(xiàn)已修補(bǔ))中存在一個(gè)著名的錯(cuò)誤,導(dǎo)致這些系統(tǒng)在正常運(yùn)行49.7天后停止運(yùn)行()。我希望最新版本的不會出現(xiàn)這種問題
它還取決于操作系統(tǒng)的調(diào)度程序。大多數(shù)情況下可能會運(yùn)行高優(yōu)先級任務(wù)。我聽說過一些較舊的Unix系統(tǒng),在這些系統(tǒng)中,低優(yōu)先級的任務(wù)需要數(shù)年時(shí)間才能有機(jī)會運(yùn)行。我們不會面對如此極端的情況
while(1)
{
//...
}