关于动态内存僵尸进程的问题

一个程序用malloc或者new申请了动态内存,但是没有手动释放,那么这些内存是在该进程成为僵尸进程之前被释放,还是成为僵尸进程之后被释放呢

4个回答

一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中,这种子进程称之为僵死进程。成为僵尸进程首先进程已经退出,进程退出,资源就释放了,所以如果该进程会成为僵尸进程,它是在成为僵尸进程前就释放了资源。

进程结束的时候会被操作系统回收,如果进程一直运行,这些就会成为泄露的内存,程序消耗的内存越来越多

zzrrhhh
哈哈哈hhhzzz 这个我知道。我想问的是 是在成为僵尸进程前被收回还是僵尸进程之后被收回?
2 年多之前 回复

什么是僵尸进程?
为何会成为僵尸进程?
谁会管理僵尸进程?
内存泄漏会成为僵尸进程?

告诉你没有僵尸进程。所以没有在僵尸进程前和后的问题。

僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有任何内存空间--------百度百科
所以我感觉在成为僵尸进程之前就释放了  
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问