Linux低电量自动关机的实现方法
前言
最近住所电不稳定,经常突然之间就断电了,虽然我的是笔记本,但是也不一定能挨到来电,这样下去过不了多久笔记本里的SSD就要挂比 的节奏啊。
所以写了一个简单的脚本,当电量低了之后,就关机,再配合 crontab 或者 systemd timers 定时检查。
关于crontab命令的使用方法大家可以参考这里:https://www.jb51.net/article/148575.htm
下面话不多说了,来一起看看详细的介绍吧
check_shutdown.timer:
$ cat /etc/systemd/system/check_shutdown.timer [Unit] Description=Check if battery is low every 10 minutes [Timer] OnCalendar=*:0/10 Persistent=true [Install] WantedBy=timers.target
check_shutdown.service:
$ cat /etc/systemd/system/check_shutdown.service [Service] ExecStart= ExecStart=/home/jiajun/.xmonad/scripts/shutdown.py
check_shutdown.py:
#!/home/jiajun/.py3k/bin/python import psutil import logging import os import datetime bat = psutil.sensors_battery() logging.warn("%s: battery status: %s", datetime.datetime.now(), bat) if bat.percent < 15: logging.warn("gonna shutdown") os.system("sudo shutdown -h now")
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
详解linux 关机命令总结
linux下常用的关机命令有:shutdown.halt.poweroff.init:重启命令有:reboot.下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法. 首先来看一下linux下比较常用的一些关机命令 关机命令: 1.halt 立刻关机 2.poweroff 立刻关机 3.shutdown -h now 立刻关机(root用户使用) 4.shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -
-
Linux管理员手册(5)--引导和关机
本节说明当Linux系统引导和关机时发生了什么,应该任何正确完成. 如果没有遵循正确的过程, 文件可能损坏或丢失. 引导和关机概述 开启计算机并导致其操作系统被加载的过程 叫引导. The name comes from an image of the computer pulling itself up from its bootstraps, but the act itself slightly more realistic. 启动过程中,计算机首先加载了一小段叫 bootstrap lo
-
php控制linux服务器常用功能 关机 重启 开新站点等
php 里面有个 system 方法, 可以调用系统命令. 先建立一个脚本(比喻 /root/reboot_server.sh ),重启用的. 复制代码 代码如下: #!/bin/bash reboot 再给他赋予权限 4755 chown root:root /root/reboot_server.sh chmod 4755 /root/reboot_server.sh chmod 4777 /sbin/reboot 再在 php 里, 想办法做如下调用 复制代码 代码如下: <?php sy
-
轻松掌握Linux关机重启命令
在linux下关机和重启系统有shutdown.halt.reboot.init,对于他们来说他们的内部工作过程是不相同的. 又过了一年,进入了2010年,在去年也许微软抢占了Linux的光环,不过对于发展时间不太长的Linux,能在微软面前站稳脚跟,很不简单.其实Linux越来越火热,很多的计算机用户安装了Linux.对于那些Linux初学者,本文为你详细介绍Linux关机重启命令,为你在学习Linux关机命令时起一定的作用. 1.shutdown命令 使用它可以安全地关闭系统,然而在关闭系统
-
Linux (Ubuntu)休眠,挂起,待机,关机的命令详细介绍
这里对linux 的几个命令整理下,有:休眠,挂起,待机,关机等几个命令的区别及如何实现. 休眠是一种更加省电的模式,它将内存中的数据保存于硬盘中,所有设备都停止工作.当再次使用时需按开关机键,机器将会恢复到您的执行休眠时的状态,而不用再次执行启动操作系统复杂的过程. 待机(挂起)是将当前处于运行状态的数据保存在内存中,机器只对内存供电,而硬盘.屏幕和CPU等部件则停止供电.由于数据存储在速度快的内存中,因此进入等待状态和唤醒的速度比较快.不过这些数据是保存在内存中,如果断电则会使数据丢失. 立
-
Linux关机时执行指定脚本功能实现
1.关机时执行某个脚本的具体思路 (1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name: (2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文件的链接文件K07file_name: sudo ln -s /etc/init.d/file_name /etc/rc0.d/K07file_name sudo ln -s /etc/init.d/file_name /etc/rc6.d/K07file_name (3)在文件夹/var/lock
-
详解 Linux中的关机和重启命令
详解 Linux中的关机和重启命令 一 shutdown命令 shutdown [选项] 时间 选项: -c:取消前一次关机命令 -h:关机 -r:重启 二 shutdown实战 [root@localhost tmp]# date Sat Jul 15 09:28:35 CST 2017 [root@localhost tmp]# shutdown -r 05:30 Shutdown scheduled for Sun 2017-07-16 05:30:00 CST, use 'shutdow
-
Linux 使用init命令实现关机,重启,切换模式
Linux init命令 详解 reboot可能是每个用过Linux的人都知道的命令,但有一个命令"init"才是命令中的精英. 最近有个同事学习安装了CentOS,明明安装的是带桌面的系统,但是启动后进入了命令行模式,搞不定了问到我,我执行了一下"init 5",界面就出来了,那哥们顿时心生佩服,感觉好神奇.其实计算机这东西就是这样子,不会的就感觉好神奇,当你会了,也就是那么回事. Linux有个文件 /etc/inittab # inittab This f
-
linux中shell脚本实现下载完关机
用mint 有一段时间了,下载基本用firefox,有时下载几个G的游戏.可是firefox没有找到下载完关机的选择.处于这个原因,写了这个. download_shutdown.sh #!/bin/bash # Created By: Demo <demo@demo.com> # Created Time: 2015-01-30 12:36:44 # Modified Time: 2015-01-30 12:54:21 dir=$1 while [ "1" ] do if
-
Linux低电量自动关机的实现方法
前言 最近住所电不稳定,经常突然之间就断电了,虽然我的是笔记本,但是也不一定能挨到来电,这样下去过不了多久笔记本里的SSD就要挂比 的节奏啊. 所以写了一个简单的脚本,当电量低了之后,就关机,再配合 crontab 或者 systemd timers 定时检查. 关于crontab命令的使用方法大家可以参考这里:https://www.jb51.net/article/148575.htm 下面话不多说了,来一起看看详细的介绍吧 check_shutdown.timer: $ cat /etc/
-
Android4.4开发之电池低电量告警提示原理与实现方法分析
本文实例讲述了Android4.4电池低电量告警提示原理与实现方法.分享给大家供大家参考,具体如下: 之前版本的电池电量低是通过发送 intent ACTION_BATTERY_LOW来实现的,而在android4.4中,通过发送intent ACTION_BATTERY_CHANGED,也就是电池电量只要变化就检查是否需要低电量告警,并且实现挪到了PowerUI中. 路径: frameworks/base/packages/SystemUI/src/com/android/systemui/p
-
linux下数据压缩的几种方法与查看方式(示例代码)
1,tar命令 使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进行压缩了,tar命令本身不进行数据压缩,但可以在打包或解包的同时调用其它的压缩程序,比如调用gzip.bzip2 选项: -c 创建.tar格式包文件 -x 解开.tar格式包文件 -v显示详细信息 -f 使用归档文件 -p 保留原始文件权限 -C 解压到目标文件夹 -z 调用gzip进行压缩或解
-
LINUX查看进程的4种方法(小结)
进程是在 CPU 及内存中运行的程序代码,而每个进程可以创建一个或多个进程(父子进程). **查看进程方法:** 第一种: ps aux ps命令用于报告当前系统的进程状态.可以搭配kill指令随时中断.删除不必要的程序.ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的. a:显示当前终端下的所有进程信息,包括其他用户的进程. u:使用以用户为主
-
Linux实现自动挂载autofs的方法详解
目录 实现自动挂载-autofs autofs工具简单使用 autofs配置详细说明 自动挂载资源有两种格式 优化 Linux 系统性能 安装 Tuned 选择调整配置文件 检查系统推荐的调整配置文件 实现自动挂载-autofs autofs 服务实现自动挂载外围设备,NFS共享目录等,并在空闲5分钟后后自动卸载 相关包和文件 : 软件包:autofs 服务文件:/usr/lib/systemd/system/autofs.service 配置文件:/etc/auto.master autofs
-
Linux安装配置php环境的方法
本文实例讲述了Linux安装配置php环境的方法.分享给大家供大家参考,具体如下: 1.获取安装文件: http://www.php.net/downloads.php php-5.3.8.tar.gz 获取安装php需要的支持文件:http://download.csdn.net/download/netlong339/1351852 libxml2-2.6.32.tar.gz 2.安装libxml2 复制代码 代码如下: tar zxvf libxml2-2.6.32.tar.gz cd l
-
linux下编译boost.python简单方法
最近项目使用c++操作Python脚本,选用boost.python库.在window下编译安装很顺利,但是在Linux下一直编译不通过,总是提示找不到头文件.linux版本为rhel5.7.后来询问同事,原来是同事将原来系统自带的python2.4删除掉了,然后手动编译安装了python3.3. 换到另外一台机器,重新下载boost,使用以下命令,顺利编译成功 ./bootstrap.sh --with-python=/usr/bin/python ./bjam --build-type=mi
-
在linux系统下安装redis的方法
去官网找到合适的版本,可以直接下载下来,再用fxp上传,也可以直接以下面这种方式下载: $ wget http://download.redis.io/releases/redis-3.2.9.tar.gz $ tar xzf redis-3.2.9.tar.gz $ cd redis-3.2.9 $ make 启动服务: $ src/redis-server 测试是否成功: $ src/redis-cli redis> set foo bar OK redis> get foo "
-
Linux中gpio接口的使用方法示例
前言 Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0-MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不过linux有一个框架处理gpio,能够使用统一的接口来操作gpio.在讲gpio核心(gpiolib.c)之前先来看看gpio是怎么使用的 使用gpio 使用gpio接口需要包含#include <linux/gpio.h> ,在驱动中使用延时函数
-
Linux的压缩和解压缩的方法总结
Linux的压缩和解压缩的方法总结 一 常用的压缩格式 .zip .gz .bz2 .tar.gz .tar.bz2 二 .zip格式压缩 1.语法 zip 压缩文件名 源文件名 压缩文件 zip -r 压缩文件名 源目录 压缩目录 unzip 压缩文件 解压缩.zip文件 2.说明 .zip的格式在windows和LInux是通用的. 3.实战 root@localhost test]# ls abc cdf [root@localhost test]# zip abc.zip abc add
随机推荐
- 页面嵌入Windows Media Player播放器代码需要注意的
- perl数据库添加、删除、更新、查询操作例子
- js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
- C#编写发送邮件组件
- Docker 私有仓库恢复实例详解
- 各浏览器中querySelector和querySelectorAll的实现差异分析
- JS打字效果的动态菜单代码分享
- 使用JDBC4.0操作Oracle中BLOB类型的数据方法
- MSI之制作免输序列号安装包的方法
- SQL Server 2005与sql 2000之间的数据转换方法
- Mysql my.ini 配置文件详解
- js对象数组按属性快速排序
- jquery tab插件精简版分享
- firefo xml 读写实现js代码
- Android中SwipeBack实现右滑返回效果
- 简单比较C语言中的execl()函数与execlp()函数
- Docker 如何布置PHP开发环境
- php中的时间处理
- 深入C++浮点数无效值定义与判定的解决办法
- VLAN 之间的访问控制