ubuntu 18.04 和centos都支持 编辑下列文件:/etc/systemd/logind.conf #HandlePowerKey按下电源键后的行为,默认power off #HandleSleepKey 按下挂起键后的行为,默认suspend #HandleHibernateKey按下休眠键后的行为,默认hibernate #HandleLidSwitch合上笔记本盖后的行为,默认suspend(改为lock;即合盖不休眠)在原文件中,还要去掉前面的# 运行:systemctl restart sys…

2023年 3月 18日 0条评论 48点热度 0人点赞 阅读全文

Systemd目录 CentOS:/usr/lib/systemd/system目录添加一个配置文件 如果你想让该软件开机启动,就执行下面的命令(以httpd.service为例)。 sudo systemctl enable httpd 上面的命令相当于在/etc/systemd/system目录添加一个符号链接,指向/usr/lib/systemd/system里面的httpd.service文件。 引言 最近在服务器上部署程序的时候,接到一个重启之后能自动启动所有服务的需求。这个操作居然不会,之前重启之后都是…

2023年 3月 13日 0条评论 48点热度 0人点赞 阅读全文

.gz压缩包(不带tar),用gzip命令即可(-d选项可以解压) 格式: gzip XXX.gz -d 解压位置 注意:如果不指定解压位置,将解压到当前工作文件夹里。 .tar.gz压缩包,需要使用tar命令的-z和-f选项(解压需要-x) 格式: tar -zxf XXX.tar.gz -C 解压位置 注意:后面的-C是大写C,如果不指定解压位置需要去掉-C,系统会把压缩包中所有文件解压到当前工作文件夹 原文地址:解压.gz和.tar.gz文件

2023年 3月 9日 0条评论 85点热度 0人点赞 阅读全文

大多数 Linux 服务器都带有一个缺少图形用户界面的基本操作系统,这是一种提供图形界面来与您的系统进行交互的用户界面。通常,管理员使用基于 CLI 的工具和配置来管理它。本文档解释了如何在基于 Debian 的 Linux 服务器上设置桌面。 执行以下命令来更新 Debian 系统。 GNOME使用以下命令安装桌面环境。安装过程需要一些时间才能完成。 完成 GNOME 桌面安装后,下一步是分配graphical runlevel.通过执行以下命令将默认引导更改为图形运行级别,以确保下一次系统引导进入 GUI。 默…

2023年 3月 3日 0条评论 94点热度 0人点赞 阅读全文

在之前的字符设备程序中驱动程序,我们只要调用open()函数打开了相应的设备文件,就可以使用read()/write()函数,通过file_operations这个文件操作接口来进行硬件的控制。这种驱动开发方式简单直观,但是从软件设计的角度看,却是一种十分糟糕的方式。 它有一个严重的问题,就是设备信息和驱动代码杂糅在一起,在我们驱动程序中各种硬件寄存器地址随处可见。本质上,这种驱动开发方式与单片机的驱动开发并没有太大的区别,一旦硬件信息发生变化甚至设备已经不在了,就必须要修改驱动源码。我们之前做的事情只不过是简单地…

2023年 2月 22日 0条评论 83点热度 0人点赞 阅读全文

Moving to a more appropriate component. This is not related to hardware monitoring but to thermal management, and most likely the only way to handle this is in a dedicated x86 platform driver (or possibly fixes to the asus-wmi driver).

2023年 2月 21日 0条评论 63点热度 0人点赞 阅读全文

Linux进程的睡眠和唤醒 在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状 态标志位为TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux 内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中选择一个合适的进程投入运行。 当然,一个进程也可以主动释放CPU的控制权。函数schedule()是一个调度函数,它可以被一个进程主动调用,从而调度其它进程占用CPU。一旦这个主动放弃CPU的进程被重新调度占用 CPU,那么它将从上次停止执行的位置开始…

2023年 2月 21日 0条评论 83点热度 0人点赞 阅读全文

PB09210183 何春晖 进程调度相关数据结构 task_struct task_struct是进程在内核中对应的数据结构,它标识了进程的状态等各项信息。其中有一项thread_struct结构的变量thread,记录了CPU相关的进程状态信息,如内核控制的断点和栈指针等。 在内核中获得当前进程task_struct结构使用宏current,该宏读取变量current_task得到指针。 thread_union和thread_info thread_union用于表示一个进程的内核态堆栈,当进程进入内核态时就…

2023年 2月 21日 0条评论 73点热度 0人点赞 阅读全文

原文地址:内存屏障 抽象的内存访问模型 考虑下面的系统抽象模型: : : : : : : +-------+ : +--------+ : +-------+ | | : | | : | | | | : | | : | | | CPU 1 |<----->| Memory |<----->| CPU 2 | | | : | | : | | | | : | | : | | +-------+ : +--------+ : +-------+ ^ : ^ : ^ | : | : | | : | …

2023年 2月 20日 0条评论 91点热度 0人点赞 阅读全文

 Linux阅码场 圈里流传着一句话“珍爱生命,远离屏障”,这足以说明内存屏障是一个相当晦涩和难以准确把握的东西。使用过弱的屏障,会导致软件不稳定。使用过强的屏障,会引起性能问题。所以工程上,追求恰到好处、不偏不倚的屏障。本文力求用最浅显的语言,讲清楚内存屏障最晦涩的道理,本文也会给出五个工程案例,这些案例皆见于开源的代码,不涉及任何组织和个人未公开的技术。 一、引子 我国古代著名程序猿韩愈曾经写下一个名为《春雪》的函数: 新年都未有芳华,二月初惊见草芽。 白雪却嫌春色晚,故穿庭树作飞花。 这段代码讲述了一个关于m…

2023年 2月 19日 0条评论 77点热度 0人点赞 阅读全文