移动硬盘的防卡保护脚本

2024-06-07 12:58

本文主要是介绍移动硬盘的防卡保护脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

要往一个Portable SSD上不停写入,在这个过程中,已经遇到过几次移动硬盘卡死。因为没有及时发现,一般都已经卡死了很久了。

症状:对应在移动硬盘上的进程%CPU一直在90%以上。

一般处理手法:强制Eject

为了保护一下ssd 的寿命于是,

k=0
MEGA=10
urgent=850
breaking=60
while true; do
#第一步得到相关的命令的各资源占用OUTPUT=`ps aux|head -1;ps aux|grep "some_command"`DUTPUT=`echo "${OUTPUT}" |grep -v 'grep'` #grep 本身这一条要去掉#echo "$DUTPUT"
#第二步得到他的CPU占用array_all=(${DUTPUT/\t/})CPU_SIGN=`echo "${array_all[13]}"`
#第三步把得到的CPU_SIGN放大十倍,注意这里得到的CPU_SIGN其实是个字符串,要变成小数CPU_SIGN=$(awk '{print $1*$2}' <<<"${CPU_SIGN} ${MEGA}")#$(这个是为了恢复vim正常的语法高亮,可忽略#echo "$CPU_SIGN"
#如果没事,就breakif [ $CPU_SIGN -lt $urgent ]; thenbreakfi
#如果可能有事....k=$[k+1]
#确定有事,于是第四步找出移动硬盘上的在运行的bash窗口if [ $k -gt $breaking ]; thenCMD_OUT=$(diskutil unmountDisk /dev/disk2 2>&1 )  #抓住unmount的错误输出CMD_PUT=`echo "${CMD_OUT}" |grep 'PPID'` #PPID取巧拿法PPID_NUM=`echo "${CMD_PUT}" | egrep -o -E  '[0-9]+'`#echo $PPID_NUM
#第五步干掉爷爷进程,然后unmountkill $PPID_NUMsleep 2diskutil unmountDisk /dev/disk2breakfisleep 5
done

最后,做成一个30分钟启动一下的定时任务。

这篇关于移动硬盘的防卡保护脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1039244

相关文章

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

centos6一键安装vsftpd脚本

centos6一键安装vsftpd脚本 手动安装vsftpd参考教程:Centos下安装Vsftpd的图文教程 vsftpd脚本功能: 1.安装 (命令执行:sh xxx.sh)2.添加ftp用户 (命令执行:sh xxx.sh add)3.卸载vsftpd (命令执行:sh xxx.sh uninstall) 测试环境:centos6 x64 centos6 x86(测试centos7以

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

如何保护自己的个人隐私

个人隐私保护概览 在数字时代,个人隐私保护显得尤为重要。随着信息技术的发展,个人信息的收集、存储、使用变得更加便捷,同时也带来了隐私泄露的风险。为了保护个人隐私,我们需要从多个维度出发,采取一系列措施来确保个人信息的安全。 个人隐私泄露风险 个人隐私泄露主要来源于以下几个方面: 社交网络:在社交平台上分享信息时,如果不恰当地设置了隐私权限,可能会导致敏感信息被公开。网络服务:在使用网络服务

Android逆向(反调,脱壳,过ssl证书脚本)

文章目录 总结 基础Android基础工具 定位关键代码页面activity定位数据包参数定位堆栈追踪 编写反调脱壳好用的脚本过ssl证书校验抓包反调的脚本打印堆栈bilibili反调的脚本 总结 暑假做了两个月的Android逆向,记录一下自己学到的东西。对于app渗透有了一些思路。 这两个月主要做的是代码分析,对于分析完后的持久化等没有学习。主要是如何反编译源码,如何找到

Lua 脚本在 Redis 中执行时的原子性以及与redis的事务的区别

在 Redis 中,Lua 脚本具有原子性是因为 Redis 保证在执行脚本时,脚本中的所有操作都会被当作一个不可分割的整体。具体来说,Redis 使用单线程的执行模型来处理命令,因此当 Lua 脚本在 Redis 中执行时,不会有其他命令打断脚本的执行过程。脚本中的所有操作都将连续执行,直到脚本执行完成后,Redis 才会继续处理其他客户端的请求。 Lua 脚本在 Redis 中原子性的原因

CentOs7上Mysql快速迁移脚本

因公司业务需要,对原来在/usr/local/mysql/data目录下的数据迁移到/data/local/mysql/mysqlData。 原因是系统盘太小,只有20G,几下就快满了。 参考过几篇文章,基于大神们的思路,我封装成了.sh脚本。 步骤如下: 1) 先修改好/etc/my.cnf,        ##[mysqld]       ##datadir=/data/loc