服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

当我杀死-9或拉动力量时,究竟会发生什么?

build立 我已经有了一段时间的程序员,但是对于内部深层的东西,我还是有些模糊。 现在。 我清楚地知道,这不是一个好主意: 杀-9一个进程(坏) 自发地拉动正在运行的计算机或服务器上的电源插头(更坏) 但是,有时你只是平素而已。 有时候一个程序不pipe你做什么都不会回应,有时候一台电脑不会回应,不pipe你做什么。 假设一个通过mod_wsgi运行Apache 2,MySQL 5,PHP 5和Python 2.6.5的系统。 注意:我对这里的Mac OS X最感兴趣,但是与任何UNIX系统有关的答案都能帮助我。 我的顾虑 每次我都要做这两件事,特别是第二件事,我很担心,有一段时间,事情已经被打破了。 有些文件可能会损坏 – 谁知道哪个文件? 计算机上有超过1,000,000个文件。 我经常使用OS X,因此我将通过“磁盘工具”运行“validation磁盘”操作。 它会报告没有问题,但我仍然关心这一点。 如果某个configuration文件被搞砸了怎么办? 或者更糟糕的是,如果某个二进制文件损坏了,该怎么办? 或者某个脚本文件现在已经损坏了。 如果一些硬件损坏了怎么办? 如果直到下个月,在危急的情况下,当腐败或损害导致灾难,我才发现它呢? 或者,如果宝贵的数据已经丢失了呢? 我的希望 我的希望是,这些担忧和担忧是没有根据的。 毕竟,之前做了这么多次之后,还没有发生真正的坏事。 最糟糕的是我不得不修复一些MySQL表,但我似乎没有丢失任何数据。 但是,如果我的担忧不是没有根据的,在1或2的情况下都会发生真正的损害,那么我希望有一种方法来检测它并防止它发生。 我的问题 难道这是因为现代操作系统的devise是为了确保在这些场景中没有任何东西丢失? 难道这是因为现代软件的devise是为了确保没有任何损失? 现代硬件devise呢? 拔电源插头时采取了什么措施? 我的问题是,对于这两种情况, 究竟会出现什么问题,应该采取哪些措施来解决问题? 我的印象是,有一件事情可能会出错,有些程序可能没有将数据刷新到磁盘,所以任何应该写入磁盘的最新数据(比如说,在电源拉开前几秒钟)可能会丢失。 但是除此之外呢? 而这个5秒数据丢失的问题又能搞定一个系统吗? 随机文件的腐败隐藏在我的硬盘驱动器上的大量文件森林中的什么地方? 那硬件损坏呢? 什么会帮助我最 详细描述当你杀死一个进程或者在整个系统上打开电源时,内部发生的事情。 (这似乎是瞬间的,但是有人可以减慢我的速度吗?) 在这些情况下所有可能出错的解释,以及(当然是粗略的)可能性(即,这是不太可能的,但是这很可能)… 对现代硬件,操作系统和软件采取的措施进行说明,以防止发生这些情况时的损坏或损坏。 (安慰我) 说明在执行kill […]