-4
A
回答
2
问题是(除了脱离主题外)本身有点不对,因为rm
不是内核的一部分,而是一个内置的shell或一个单独的用户级程序。无可否认,rm
使用内核提供的系统调用,但这是无关紧要的。
内核本身从压缩映像加载并锁定在RAM中。直到重新启动(这会在引导加载程序给出诸如“vmlinuz未找到”之类的消息时会失败),是否删除压缩的映像并不重要。你无法从RAM中删除内核(好吧,除了重新启动...)。
此外,在大多数情况下,无论您是否删除一个文件,包括正在运行的程序的可执行文件(如果我们可能在一段时间内将内核调用为一个“程序”这一令人生畏的事情) ,因为删除文件只是删除链接,而不是文件。这是一种Windows典型的假设,即删除文件会造成破坏性的恶意行为。
在类Unix系统下,完全可以在程序运行时删除(或替换)程序,并且根本不会引起任何问题。您将删除文件系统中的名称,就这些。任何开放的描述符将保持有效,直到最后一个关闭为止,原始文件将保持原样,对于任何先前获得处理的观察者来说都是如此,并且对于每个尝试稍后获取它的人都会“消失”。
相关问题
- 1. 如果* .exe.config被删除会发生什么情况?
- 2. TFS - 如果我删除工作区会发生什么情况?
- 3. 如果不清除ThreadLocal变量,会发生什么情况?
- 4. 如果堆栈内存变满,会发生什么情况
- 5. 如果我不从nsnotification中心删除观察者,会发生什么情况?
- 6. 如果我在git中删除父分支,会发生什么情况
- 7. 如果我删除Ubuntu中的主配置文件会发生什么情况?
- 8. 如果我在Android Studio中删除dump.txt文件,会发生什么情况?
- 9. 如果删除+和++运算符之间的空格,会发生什么情况?
- 10. 如果决策器未运行,会发生什么情况
- 11. 如果在rootfs上发生内存泄漏,会发生什么情况?
- 12. 如果finally块引发异常,会发生什么情况?
- 13. 如果CFile :: Write引发异常会发生什么情况?
- 14. 如果iOS分发证书过期会发生什么情况?
- 15. 如果我的IExceptionPublisher引发异常,会发生什么情况?
- 16. 如果我在.NET核心库中添加PackageReference net46,会发生什么情况?
- 17. DatastoreService批量删除。如果发生异常,会发生什么
- 18. 如果我在程序运行时删除程序的执行程序,会发生什么情况?
- 19. 为什么会发生这种情况?
- 20. 如果未处理事件会发生什么情况?
- 21. 如果有人拿到我的appsecret,会发生什么情况?
- 22. 如果php.ini丢失,会发生什么情况?
- 23. minimax:如果min不起作用会发生什么情况
- 24. 如果您打破Lock()语句,会发生什么情况?
- 25. 如果NSURLCache已满,会发生什么情况?
- 26. 如果委托不存在,会发生什么情况?
- 27. 如果未捕获到异常,会发生什么情况?
- 28. 如果我不调用transaction.close或transaction.rollback,会发生什么情况?
- 29. 如果Web服务更改参数会发生什么情况?
- 30. 如果ExecutorService的队列已满,会发生什么情况
正在从一个基本上这样做并设法恢复的肠道读博客。非常有趣的阅读 - http://fendrich.se/blog/2010/08/27/rescuing-hosed-system-using-only-bash/ – Graeme