计操理论课04 -- openEuler实验第三章进程管理

2023-11-11

任务1:创建并运行内核线程

任务要求

  1. 编写内核模块,创建一个内核线程;并在模块退出时杀死该线程。
  2. 加载、卸载模块并查看模块打印信息。

任务代码

kthread.c

#include <linux/kthread.h>
#include <linux/module.h>
#include <linux/delay.h>

MODULE_LICENSE("GPL");

#define BUF_SIZE 20

static struct task_struct *myThread = NULL;

static int print(void *data)
{
   
	while(!kthread_should_stop()){
   
		printk("New kthread is running.");
		msleep(2000);
	}
	return 0;
}

static int __init kthread_init(void)
{
   
	printk("Create kernel thread!\n");
	myThread = kthread_run(print, NULL, "new_kthread");
	return 0;
}

static void __exit kthread_exit(void)
{
   
	printk("Kill new kthread.\n");
	if(myThread)
		kthread_stop(myThread);
}

module_init(kthread_init);
module_exit(kthread_exit);

Makefile

ifneq (
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计操理论课04 -- openEuler实验第三章进程管理 的相关文章

  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • 如何使用 sed 仅删除双空行?

    我找到了这个问题和答案 https stackoverflow com questions 4651591 howto use sed to remove only triple empty lines关于如何删除三重空行 但是 我只需要对
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • 如何模拟ARM处理器运行环境并加载Linux内核模块?

    我尝试加载我的vmlinux into gdb并使用 ARM 内核模拟器 但我不明白为什么我会得到Undefined target command sim 这是外壳输出 arm eabi gdb vmlinux GNU gdb GDB 7
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • 嵌入式Linux poll()不断返回

    我有一个特别的问题 当我知道没有什么可读时 民意调查不断返回 因此设置如下 我有 2 个文件描述符 它们构成fd设置民意调查监视 一种用于引脚从高到低的变化 GPIO 另一个用于代理输入 代理输入出现问题 处理的顺序是 启动main函数 然
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • 如何修复“iptables:没有该名称的链/目标/匹配”?

    我在我的 Linux 嵌入式系统上构建并安装了 iptables 如果我列出所有规则 则一切正常 iptables list Chain INPUT policy ACCEPT target prot opt source destinat
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 我可以从命令行打印 html 文件(带有图像、css)吗?

    我想从脚本中打印带有图像的样式化 html 页面 谁能建议一个开源解决方案 我使用的是 Linux Ubuntu 8 04 但也对其他操作系统的解决方案感兴趣 你可以给html2ps http user it uu se jan html2
  • Linux 中的动态环境变量?

    Linux 中是否可以通过某种方式拥有动态环境变量 我有一个网络服务器 网站遵循以下布局 site qa production 我想要一个环境变量 例如 APPLICATION ENV 当我在 qa 目录中时设置为 qa 当我在生产目录中时
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 如何有效截断文件头?

    大家都知道truncate file size 函数 通过截断文件尾部将文件大小更改为给定大小 但是如何做同样的事情 只截断文件的尾部和头部呢 通常 您必须重写整个文件 最简单的方法是跳过前几个字节 将其他所有内容复制到临时文件中 并在完成

随机推荐

  • 【环形链表】

    目录 前言 一 相交链表 一 题目分析 二 题目代码 二 环形链表 一 题目分析 二 题目代码 三 环形链表 一 解法1 数学分析 公式推导 题目分析 题目代码 二 解法2 切断环 改变问题为相交链表 题目分析 题目代码 三 解法3 改变链
  • New Bing相关设置与解除聊天次数限制

    最近ChatGPT相关的话题很多 之前使用了一下 感觉虽然功能很强大 但是ChatGPT只能查找2021年之前的信息 并且会编造一些虚假信息 例如让其给出一些信息的来源的时候 就会胡乱编造 1 New Bing的优势 New Bing是Ch
  • 有向图深度优先

    1 深度优先遍历 deep first traverse 定义 假设给定图G的初态是所有顶点均未曾访问过 在G中任选一顶点v为初始出发点 源点 则深度优先遍历可定义如下 首先访问出发点v 并将其标记为已访问过 然后依次从v出发搜索v的每个邻
  • 磁共振中的T1, T2 和 T2*的原理和区别

    从物理的角度 要理解这几个概念的区别 需要对原子核的磁化有所了解 本文通过一些图示对这几个概念进行简明的介绍 首先 磁共振最基本的原理就是氢原子核在磁场中自旋运动时所具有的量子力学特性 在一个均匀磁场B0中 氢原子核的旋转 spin 会出现
  • 初使用uni-app,适配多端,踩坑及经验合集

    初使用uni app 适配多端 踩坑及经验合集 一 微信小程序不支持axios 1 安装 使用小程序适配器 axios miniprogram adapter 使用npm安装 npm install axios miniprogram ad
  • Clion创建新C++项目时无法直接build的解决方案

    问题描述 当我们在clion中新创建一个C 项目的时候 通常没法直接build这个新的项目 结果如下图所示 step1 先点击reload cmake project step2 在右上角edit configuration并新增cmake
  • mysql中反引号 ` 和单引号 ' 的作用

    字符串用单引号 可提高性能 表名 字段 数据库名等标识符可用反引号 标识符也可以不使用反引号 但如果标识符包含特殊字符或保留字 则必须使用 标识符包括 数据库 表 索引 列 别名 视图 存储过程 分区 表空间 其他对象名称
  • 服务器系统镜像虚拟光驱,虚拟硬盘镜像DAEMON Tools Ultra

    DAEMON Tools Ultra虚拟硬盘镜像非常方便 支持创建和加载只读 可写虚拟硬盘镜像 镜像文件可以是动态大小 也可以是固定大小 用VHD镜像备份您的任何数据 对您存储在VHD文件中的任何数据进行快捷方便地读写 新一代 DAEMON
  • 高等代数-知识点

    高等代数 知识点 行列式 矩阵 向量 线性方程组 二次型 行列式 1 行列式本质 就是一个数 2 行列式概念 逆序数 考研 小题 无法联系其他知识点 当场解决 3 二阶 三阶行列式具体性计算 考研 不会单独出题 常常结合伴随矩阵 可逆矩阵考
  • 最简明扼要的 Systemd 教程,只需十分钟

    systemctl常用命令介绍 Systemctl是一个systemd工具 主要负责控制systemd系统和服务管理器 Systemd是一个系统管理守护进程 工具和库的集合 用于取代System V初始进程 Systemd的功能是用于集中管
  • 千里行始足下,小白们一起加油,终有一日进化为佬

    大家谁来一起学习哇 作为一个刚入坑的小白 作为我发表的第一篇博客 这篇文章我构思了许久 明年即将步入大二的殿堂 有点愧疚的却是我并没有学到一点东西 在接触到了变成这个有趣的玩意儿以后 我就对此产生了莫大的兴趣 当然 但愿不是半途而废草草收场
  • OpenCV+VS2019打开和关闭电脑摄像头

    关于OpenCV和VS2019的配置 请参考博客以前的连接 OpenCV中主要使用videocapture来打开和关闭摄像头 https docs opencv org master d8 dfe classcv 1 1VideoCaptu
  • MOS管符号特性规则

    MOS管符号 MOS管的英文全称叫MOSFET Metal Oxide Semiconductor Field Effect Transistor 即金属氧化物半导体型场效应管 属于场效应管中的绝缘栅型 因此 MOS管有时被称为绝缘栅场效应
  • Mybatis手动提交事务

    package com stylefeng guns modular system dao import java util List import java util Map import org apache ibatis annota
  • 找不到类型,或者不是编译时常数:RadioButtonGroup

    此类异常 都是由于我们要使用的组件包的路径 开发工具没给我们提供 一种做法是在组件面板中 ctrl F7 将需要使用的组件拖入到库中 或者拖到舞台后 删除便可以使用 另一种做法是在开发工具中 在 编辑 gt 首选参数 中 进行ActionS
  • Vue3封装函数式组件

    MyDialog vue
  • CSS中margin属性详解

    margin属性概述 margin是CSS层叠样式表中用来规定围绕在元素边框周围空白区域范围的属性 该接受任何长度单位 可以是像素 英寸 毫米或 em 相关属性 margin 可以单独改变元素的上 下 左 右边距 也可以一次改变所有的属性
  • qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found.(解决办法)

    一 报错信息 环境 ubuntu16 04 报错 在以安装pyqt5的情况下 qt qpa plugin Could not load the Qt platform plugin xcb in even though it was fou
  • 【译】用 Rust 实现 csv 解析-part4

    Rust and CSV parsing 译文 用 Rust 实现 csv 解析 part4 原文链接 https blog burntsushi net csv 原文作者 BurntSushi 译文来自 https github com
  • 计操理论课04 -- openEuler实验第三章进程管理

    文章目录 任务1 创建并运行内核线程 任务要求 任务代码 任务截图 任务2 打印输出当前系统 CPU 负载情况 任务要求 任务代码 任务截图 任务3 打印输出当前处于运行状态的进程的 PID 和名字 任务要求 任务代码 任务截图 任务4 使