【Linux】——sleep无法正常休眠】的更多相关文章

休眠简介 当一个进程被置入休眠时,它会被标记为一种特殊状态,并从调度器的运行队列中移走:直到某些情况下修改了这个状态,进程才会在任意cpu上调度,即运行该进程:休眠中的进程会被搁置在一边,等待将来的某个时间发生: 为了将进程以一种安全方式进入休眠,需要牢记下面的规则: 第一条规则,永远不要在原子上下文中进入休眠:原子上下文是指下面这种状态:在执行多个步骤时,不能有任何的并发访问:这意味着,对休眠来讲,我们的驱动程序不能再任何拥有自旋锁,顺序锁或者RCU锁的时候休眠:如果我们已经禁止了中断,也不能…
立刻关机:sudo haltsudo init 0 sudo shutdown -h nowsudo shutdown -h 0....定时/延时关机:sudo shutdown -h 19:3019:30关机sudo shutdown -h +30 (延时30分钟关机).....重启:sudo rebootsudo init 6 sudo shutdown -r now 其他:休眠: sudo pm-hibernate待机(10.04叫挂起):sudo pm-suspendsudo pm-su…
转自:http://blog.csdn.net/haomcu/article/details/7398703 系统挂起(Suspend)是电源管理(APM&ACPI)的一个特性,给用户带来了很大的方便.Linux在2.6系列核心中对电源管理有了较好的支持,下面就谈谈Linux对系统挂起的支持情况. 另外有一篇介绍android和linux内核对电源管理的支持的比较,代码级别的:Linux Kernel and Android 休眠与唤醒(中文版) 一个网址是http://blog.csdn.ne…
http://www.ibm.com/developerworks/cn/linux/kernel/l-k24sch/index.html 杨沙洲 (pubb@163.net)国防科技大学计算机学院 简介: 本文详尽地分析了Linux 2.4内核中调度系统的工作原理,特别是i386体系结构下SMP系统的调度表现.通过对2.4调度系统实现原理及其细节的分析,文章在文末指出了2.4调度系统在功能上.实时性上以及多处理机系统表现上存在的不足,为后继的2.6系统的分析作铺垫. 一. 前言 在开源操作系统…
本文转自:http://blog.csdn.net/g_salamander/article/details/7982170 early_suspend是Android休眠流程的第一阶段即浅度休眠,不会受到wake_lock的阻止,一般用于关闭lcd.tp等设备为运行的应用节约电能.Android的PowerManagerService会根据用户的操作情况调整电源状态,如果需要休眠则会调用到HAL层的set_screen_state()接口,在set_screen_state()中会向/sys/…
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, 驱动开发中设计到的硬件: * 数字电路知识 * ARM硬件知识 * 熟练使用万用表和示波器 * 看懂芯片手册和原理图 4, linux内核源代码目录结构: * arch/: arch子目录包括了所有和体系结构相关的核心代码.它的每一个子目录都代表一种支持的体系结构,例如i386就是关于intel c…
转自:http://www.cnblogs.com/sky-zhang/archive/2012/06/05/2536807.html PM notifier机制: 应用场景: There are some operations that subsystems or drivers may want to carry out before hibernation/suspend or after restore/resume, but they require the system to be…
Linux不让显示器休眠的方法 # setterm -blank # setterm -blank n (n为等待时间)…
转自:http://blog.csdn.net/wwwtovvv/article/details/8601528 版权声明:本文为博主原创文章,未经博主允许不得转载. linux下定时器的使用 -- alarm() & setitimer(): 1.alarm -------------------------------------------     如果不要求很精确的话,用alarm()和signal()就够了     unsigned int alarm(unsigned int sec…
1.查找文件的安装目录,拿nginx来说 find /|grep nginx.conf 2.   a.查询某个端口是否被占用,如8080端口 netstat –apn | grep 8080 b.查看端口号被哪个进程占用 netstat -tunlp|grep 端口号 3.安装客户端上传下载工具RZ.SZ dnf -y install lrzsz (因为我的是Fedora系统) yum -y install lrzsz 4.笔记本安装的Fedora 25 server 系统,开机后隔一段时间休眠…
之前试过许多方法(也就几种),像什么Complete Linux Installer,Debian noroot,利用已有的Linux构造Bootstrap之类,要么就是复杂得要命(调了两天没有调出来),要么就是鸡肋,直到发现了一款叫做Linux Deploy的软件. 这款软件是需要root才能运行的(作者的劝告:没有root的童鞋虽然可以使用Termux,但是Termux没有Linux Deploy好.Termux不同于Linux Deploy.Termux采用proot,无需root便可运行…
android 休眠唤醒机制分析(二) - early_suspend early_suspend是Android休眠流程的第一阶段即浅度休眠,不会受到wake_lock的阻止,一般用于关闭lcd.tp等设备为运行的应用节约电能.Android的PowerManagerService会根据用户的操作情况调整电源状态,如果需要休眠则会调用到HAL层的set_screen_state()接口,在set_screen_state()中会向/sys/power/state节点写入"mem"值让…
互斥量 #include <pthread.h> pthread_mutex_t mutex=PTHREAD_MUTEX_INTIIALIZER; int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr); int pthread_mutex_destroy(pthread_mutex_t *mutex); 注意: 不能拷贝互斥量,可以拷贝指向互斥量的指针,…
1. 低级接口1.1 内核(swsusp)软件挂起1.1.1 睡眠状态的2个控制文件1.1.2 查看当前系统的睡眠控制文件内容1.1.3 状态表(表1)1.1.4 状态的使用1.2 uswsusp用户空间软件挂起2. 高级接口2.1 systemd3. 休眠3.1 关于交换分区/文件大小3.1.1 disk文件控制休眠的操作模式3.1.2 image_size文件限制休眠镜像大小3.1.3 pm_trace控制PM跟踪机制3.2 必需的内核参数3.2.1 Arch Linux中最常用的内核参数列…
本人因为特殊需求,想让某台Linux主机始终显示某个程序,显示器不能关机或者休眠或进入屏保模式. 环境:Ubuntu 11.10 最小化模式安装并安装有轻量级桌面openbox(非gnome).因为X的屏幕保护,电源管理机制跟gnome不一样.所以无法使用对gnome的一套工具进行设置.所幸发现了名为xset的小工具 xset程序主要对启动X windows以后,对x windows属性进行设置的.具体用法可使用 man xset进行查看.此处不再描述. 可以使用xset命令设置各项: 1 2…
这里对linux 的几个命令整理下,有:休眠,挂起,待机,关机等几个命令的区别及如何实现. 休眠是一种更加省电的模式,它将内存中的数据保存于硬盘中,所有设备都停止工作.当再次使用时需按开关机键,机器将会恢复到您的执行休眠时的状态,而不用再次执行启动操作系统复杂的过程. 待机(挂起)是将当前处于运行状态的数据保存在内存中,机器只对内存供电,而硬盘.屏幕和CPU等部件则停止供电.由于数据存储在速度快的内存中,因此进入等待状态和唤醒的速度比较快.不过这些数据是保存在内存中,如果断电则会使数据丢失. 立…
三.pm_test属性文件读写 int pm_test_level = TEST_NONE; static const char * const  pm_tests[__TEST_AFTER_LAST] = { [TEST_NONE] = "none", [TEST_CORE] = "core", [TEST_CPUS] = "processors", [TEST_PLATFORM] = "platform", [TEST_D…
1. Based on linux2.6.32,  only for mem(SDR) 2. 有兴趣请先参考阅读: 电源管理方案APM和ACPI比较.doc Linux系统的休眠与唤醒简介.doc 3. 本文先研究标准linux的休眠与唤醒,android对这部分的增改在另一篇文章中讨论 4. 基于手上的一个项目来讨论,这里只讨论共性的地方 虽然linux支持三种省电模式:standby.suspend to ram.suspend to disk,但是在使用电池供电的手持设备上,几乎所有的方案…
在Linux中,休眠主要分三个主要的步骤:(1)冻结用户态进程和内核态任务:(2)调用注册的设备的suspend的回调函数:(3)按照注册顺序休眠核心设备和使CPU进入休眠态.       冻结进程是内核把进程列表中所有的进程的状态都设置为停止,并且保存下所有进程的上下文.当这些进程被解冻的时候,他们是不知道自己被冻结过的,只是简单的继续执行.如何让Linux进入休眠呢?用户可以通过读写sys文件/sys /power/state 是实现控制系统进入休眠.比如: # echo standby >…
1.休眠方式 在内核中,休眠方式有很多种,可以通过下面命令查看 # cat /sys/power/state //来得到内核支持哪几种休眠方式. 常用的休眠方式有freeze,standby, mem, disk freeze:   冻结I/O设备,将它们置于低功耗状态,使处理器进入空闲状态,唤醒最快,耗电比其它standby, mem, disk方式高 standby:除了冻结I/O设备外,还会暂停系统,唤醒较快,耗电比其它 mem, disk方式高 mem:      将运行状态数据存到内存…
转自:https://www.cnblogs.com/lifexy/p/9629699.html 1.休眠方式 在内核中,休眠方式有很多种,可以通过下面命令查看 # cat /sys/power/state //来得到内核支持哪几种休眠方式. 常用的休眠方式有freeze,standby, mem, disk freeze:   冻结I/O设备,将它们置于低功耗状态,使处理器进入空闲状态,唤醒最快,耗电比其它standby, mem, disk方式高 standby:除了冻结I/O设备外,还会暂…
https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate_(简体中文)https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernatehttps://wiki.archlinux.org/index.php/Power_managementhttps://wiki.archlinux.org/index.php/HP_…
最近每天的工作都难以在当天结束,而本人又不是那种善于熬夜的人,因此就需要将电脑中的工作文件全部保存,以往都是将所有工作文件保存关机,但是最近发现Linux系统有一个好神奇的命令: 休眠: sudo pm-hibernate echo "disk" > /sys/power/state sudo hibernate-disk 该命令可以将所有电脑状态保存在硬盘上,并且关闭所有硬件的耗电,需要再次使用时   按电源键  便可   直接恢复到保存的状态. 原文地址: http://bl…
"+++++++++++++++++++++++++ Linux 关机.休眠命令 +++++++++++++++++++++++++++++++++++++++"indows7关机.重启.待机.休眠命令 Windows7下一些关机.重启.待机.休眠命令,通过Autohotkey可实现快速关机等操作. ;立即关机,无提示.延时.shutdown -p;立即重启shutdown -r -t 00;进入休眠状态,如有关闭休眠则进入待机状态rundll32.exe powrProf.dll,S…
Android休眠与唤醒驱动流程分析 标准Linux休眠过程: powermanagement notifiers are executed with PM_SUSPEND_PREPARE tasksare frozen targetsystem sleep state is announced to the platform-handling code devicesare suspended platform-specificglobal suspend preparation method…
转自:http://www.cnblogs.com/noaming1900/archive/2011/01/14/1935526.html (转载) bojan 收录于2010-10-09 阅读数:  公众公开    我也要收藏   当进程以阻塞的方式通信,在得到结果前进程会挂起休眠.为了将进程以一种安全的方式进入休眠,我们需要牢记两条规则:一.永远不要在原子上下文中进入休眠.二.进程休眠后,对环境一无所知.唤醒后,必须再次检查以确保我们等待的条件真正为真 简单休眠完成唤醒任务的代码还必须能够找…
在关机前, 你进行的所有操作, 的集合, 就叫做你跟 linux系统 机器间的 一次 会话, 一个session. linux 可以 在关机时保存 这些session, 保存这些打开的窗口 和程序. 在下一次开机时, 可以恢复这些 窗口和程序. 不过好像只能恢复第一个 workspace中的 内容 因此, 如果你想 下次开机时, 还是有这些内容, 可以把他们都放在第一个workspace中, 使用 dconf-editor 可是化界面设置, 或者使用 命令: gsettings set org.…
休眠是一种更加省电的模式,它将内存中的数据保存于硬盘中,所有设备都停止工作.当再次使用时需按开关机键,机器将会恢复到您的执行休眠时的状态,而不用再次执行启动操作系统复杂的过程. 待机(挂起)是将当前处于运行状态的数据保存在内存中,机器只对内存供电,而硬盘.屏幕和CPU等部件则停止供电.由于数据存储在速度快的内存中,因此进入等待状态和唤醒的速度比较快.不过这些数据是保存在内存中,如果断电则会使数据丢失. 立刻关机: sudo haltsudo init 0sudo shutdown -h nows…
最近在开发项目的时候遇到一个问题,当使用 sleep(2) 的时候,程序居然没有按照指定的时间去休眠,但是连续执行两次 sleep(2) 的时候,程序可以正常的休眠 2 秒.真是见鬼了.最后查看了以下 sleep 函数的 man 手册,找到了原因. man 手册如下: SYNOPSIS #include <unistd.h> unsigned int sleep(unsigned int seconds); DESCRIPTION The sleep() function suspends e…
创建文件: # fallocate -l 4G /swapfile # chmod 600 /swapfile # mkswap /swapfile# swapon /swapfile 编辑/etc/fstab文件.添加:/swapfile none swap defaults 0 0 编辑/etc/mkinitcpio.conf文件:HOOKS="... block lvm2 resume filesystems ..."# mkinitcpio -p linux # filefra…