linux系统断电文件系统损坏规避方法
1.如果有大电容,检测到断电后先做dismount,然后再走标准关机流程。#!/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binmount -o remount,ro /umount -f -a -r > /dev/null 2>&1fp = popen("ps -e | grep \'app\' | awk \'{print $1}\'",
·
1. 如果有大电容,检测到断电后先做dismount,然后再走标准关机流程。
#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
mount -o remount,ro /
umount -f -a -r > /dev/null 2>&1
fp = popen("ps -e | grep \'app\' | awk \'{print $1}\'", "r");
va = fgets(buffer, sizeof(buffer), fp);
pclose(fp);
if (va == NULL){
printf("GET PID ERROR\n");
} else {
printf("GET PID : %s\n", buffer);
pid = atoi(buffer);
printf("pid : %d\n", pid);
kill(pid, SIGUSR1);
printf("-Send signal to app---\n");
usleep(1000000);
}
kill(-1, SIGKILL);
usleep(10000);
sync();
system("umountall.sh");
reboot(RB_POWER_OFF);
while (1)
usleep(10000000);
2. 把rootfs做成只读的,单独开个需要写的分区。开机后对这个分区做fsck。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)