linux内核 进程如何销毁

linux内核 进程如何销毁,第1张

要了解进程终止,你必须先了解进程结构体task_struct,期中有一些与进程终止相关的非常重要的域,task_struct在内核源代码的linux/sched.h中定义。

进程终止有多种方式,无论何种方式,都会调用内核函数sys_exit()函数,而最终调用do_exit()函数(在kernel/exit.c中定义)在do_exit()函数中首先会做一些检测,包括确保要终止的进程ID不是0或者1,再保证该进程不是处在中断处理程序之中,之后将要终止进程的task_struct结构体中的flag域设置为PF_EXITING表示该进程已经结束,然后就是比较正式的销毁过程,释放进程占用的资源。比如释放其占用的的分配内存(exit_mm()),释放进程间通信的信号量(exit_sem()),释放进程创建或者打开的文件描述符(exit_files()),释放文件系统数据(exit_fs()),释放线程(exit_thread())等等,最后向其父进程发送SIGCHILD信号,将进程状态设置为终止,调用schedule(),将CPU控制权交给其他进程。

这是大概的销毁过程的,更详细的过程请参考linux

kernel

primer这本书以及linux内核源代码。

对废弃电脑和硬盘的抽查显示,80%的信息根本没有删除或可以被恢复。这些信息里包含了大量的机密信息。

“英明仕”消磁机采用脉冲原理进行消磁。通过瞬时强电流脉冲,机器内部生产一个比硬盘或磁带的磁性高出许多倍的强大磁场。硬盘或磁带在强磁场的作用下,其用于存储数据的磁性介质表面的磁性颗粒极性方向发生改变,从而使存储的数据彻底消除。

由于磁性已被完全破坏,经过消磁的硬盘和磁带无法再做数据恢复。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7381406.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存