如果在linux中遇到down机你怎么处理(比如数据库崩溃,后台程序崩溃)

如果在linux中遇到down机你怎么处理(比如数据库崩溃,后台程序崩溃),第1张

这样看怎么个崩溃了,如只是应用崩溃,那需要尽快查清楚原因,恢复数据和应用程序这些东西。

如果是系统崩溃估计只有先重启,然后在启动数据库和应用啥的,看看是否受损,如有受损尽快查找原因,进行恢复 *** 作。

如果是硬件级别的崩溃就比较惨了,只要存储还健全,那还能通过手段恢复数据啥的,如果是存储异常,就杯具了,基本上所有的东西都差不多该重装了。

1.一个死循环不大可能把linux搞崩溃,尤其是到2.4以后,内核都有相应的保护机制,多半情况下这种进程会被杀死的。当然,你可以试试提高进程的优先级(这种我没做过,不知道结果,请事先保存好数据,以免不必要的损失)

2.还有,大量地消耗系统内存。这方法也不能成功。

比如:

======================================

#BOF

#include <unistd.h>

#include <stdlib.h>

#include <stdio.h>

#define ONE_K (1024)

int main ()

{

char*some_memory

int size_to_allocate = ONE_K

int megs_obtained = 0

int ks_obtained = 0

while (1) {

for (ks_obtained = 0ks_obtained <1024ks_obtained++) {

some_memory = (char*)malloc(size_to_allocate)

if (some_memory == NULL) exit (EXIT_FAILURE)

sprintf(some_memory, "Hello,World")

}

megs_obtained++

printf("Now allocated %d Megabytes\n", megs_obtained)

}

exit(EXIT_SUCCESS)

}

#EOF

====================

运行之后,

.....

.....

Out of Memory:Killed process 2365

Killed

======================================

系统为了保护自己的安全运行,终止了这个危险的进程。

3.驱动程序出现问题,比如驱动有bug崩溃了,这时间系统就危险了,但现在的社区里面写的开源驱动大都能和内核很好地结合,bug也没抓得差不多了。(关于驱动程序,可以参看Minix作者写的 *** 作系统原理那本书,作者分析,70%的系统崩溃是由于驱动程序引起的,所以minix采用了微内核设计,只把必要的几千行代码放在内核而剩下的都放到了用户层,他认为这样做能极大地提高系统的稳定性。关于微内核的优劣,不好评论,反正我了解一点,GNU中的一个项目是做一个叫做Hurd的微内枋系统,这个项目已经有好几年了,可以去www.gnu.org找相应的文档。

4.其它。(不知道了)


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

原文地址: http://outofmemory.cn/yw/7643180.html

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

发表评论

登录后才能评论

评论列表(0条)

保存