linux
文章平均质量分 65
MIPSA
这个作者很懒,什么都没留下…
展开
-
iptables v1.8.3(legacy): Couldn‘t load match `comment‘:No such file or directory.
iptables 命令运行报错,初步分析是由于该环境下的iptalbes不支持comment,而该程序中调用了i-m comment --comment,所以产生了报错。方案一、不使用comment,即在使用iptables时删除掉-m comment --comment,不建议。注:CONFIG_NETFILTER_XT_MATCH_COMMENT依赖下面红色标记的内核选项。方案二、修改内核配置支持iptables comment。原创 2023-07-12 16:40:10 · 1043 阅读 · 0 评论 -
mmc子系统分析(二)
mmc子系统的第二篇,介绍mmc host controller driver有关的知识,如何在linux kernel mmc 的框架下,编写和修改mmc控制器的驱动程序。原创 2022-08-30 18:24:12 · 1133 阅读 · 0 评论 -
mmc子系统分析(一)
本文主要是分析Linux系统中,mmc子系统的框架和实现示。原创 2022-06-29 19:57:57 · 1315 阅读 · 1 评论 -
Linux进程数据结构
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、task_struct的定义二、 解析task_struct1.任务ID2.信号处理3.任务状态4.进程调度总结前言进程是处于执行期的程序以及它所管理的资源(如打开的文件、挂起的信号、进程状态、地址空间等等)的总称。注意,程序并不是进程,实际上两个或多个进程不仅有可能执行同一程序,而且还有可能共享地址空间等资源。Linux 里面,无论是进程,还是线程,到了内核里面,我们统一都叫任务(Task),由一个统一的结构 t.原创 2022-05-31 19:14:08 · 636 阅读 · 0 评论 -
[RK3399]开启ramoops,查看kernel log
环境CPU:RK3399kernl:Linux 4.4OS::ubuntu 18.04配置方式一:直接修改ipud-next/kernel/arch/arm64/configs/rk3399_linux_defconfig文件CONFIG_PSTORE=yCONFIG_PSTORE_CONSOLE=yCONFIG_PSTORE_RAM=y配置dts增加相关节点:ramoops_mem reserved-memory { #address-cells = <原创 2022-02-28 17:31:20 · 16856 阅读 · 0 评论 -
shell脚本:sh、bash、dash的关系
一、释义#!/bin/bash指定脚本使用/bins/bash来解释执行,#!/bin/sh是指定此脚本使用/bin/sh来解释执行。#!是特殊的表示符,后面是脚本解释器程序路径,脚本的内容是由对应的解释器解释的。二、区别GNU/Linux操作系统中的/bin/sh本是bash (Bourne-Again Shell) 的符号链接,但鉴于bash过于复杂,有人把bash从NetBSD移植到Linux并更名为dash (Debian Almquist Shell),并建议将/bin/sh指向它,以获得原创 2021-12-26 20:14:31 · 17741 阅读 · 0 评论 -
INFO: rcu_sched detected stalls on CPU/tasks
运行环境:ARCH:ARMKernel:4.4.189内核提示消息:从图上可以看出提示消息:INFO:rcu_sched detected stalls on CPUs/tasks,这个提示是和RCU相关的。第二行:数字4,表示是CPU核4第三行:detected by 0,表示被CPU核0检测到了。第五行:18322 18321 分别是当前进程号和父进程号。关于RCURCU(Read-Copy Update) 是Linux 2.6 内核开始引入的一种新的锁机制,与spinlock、rw原创 2021-07-01 19:46:15 · 26089 阅读 · 1 评论 -
ubuntu 设置虚拟内存 解决内存不足
数据库服务器程序在运行起来之后,系统内存不足。环境:RK3399内核:Linux 4.4系统:ubuntu 18.04在系统监控中发现,当数据库服务程序启动后,占用了大量内存空间,导致系统的剩余的内存往往只有几十MB。在ubuntu系统中,swap空间就是虚拟内存,所以考虑在磁盘空间富余的目录下设置虚拟内存swap文件,用来缓解内存不足的问题。1、free -m 命令查看内存情况和swap分区大小 total used free sh原创 2021-06-06 16:41:53 · 11517 阅读 · 4 评论 -
Linux 下路由表的设置
查看路由表通过route命令可以查看Linux内核的路由表。route 和 route -n的区别route和route -n都可以显示Linux内核的路由表,区别在于route可以将地址转换成主机名显示,route -n不进行转换,所以route -n的显示速度会比route要快,推荐使用route -n。route -n3种路由类型主机路由:路由选择表中指向单个IP地址或主机名的路由记录。主机路由的Flags字段为H,且Genmask Flags为255.255.255.255。网络路由:原创 2021-05-02 22:22:41 · 2494 阅读 · 1 评论 -
Linux之文件查找
常用查找文件命令which命令可用于查找命令位置。whereis可查找命令的位置,手册,源文件等。which和whereis都不能查找内置命令位置。locate优点:查找速度块;缺点:模糊匹配,匹配路径,实时性差。find优点:准确查找,功能丰富;缺点:速度较慢使用grep以文件内容为导向查找grep “xxx” * -nRwhichwhich 在PATH变量指定的路径中,搜索某个系统命令的位置。示例:查看ls命令所在的位置。 $ Which -a ls /bin/ls原创 2021-03-31 19:21:29 · 893 阅读 · 1 评论 -
ubuntu 安装adb进行调试
1、adb 驱动安装安装adb驱动到ubuntu系统下:更新一遍软件源:sudo apt-get update安装adb工具:sudo apt-get install android-tools-adb检查安装是否成功:adb version2、列出当前的adb设备sudo adb devices3、添加USB设备到adb配置文件在当前目录下查找.android目录。在.android目录下创建一个adb_usb.ini,touch adb_usb.ini。添加要接入设备的USB原创 2021-03-08 18:51:28 · 11459 阅读 · 0 评论 -
Linux c 时间相关编程
相关头文件#inlucde <time.h>相关结构体定义<time.h>typedef __time_t time_t;<bits/types.h>#if __WORDSIZE == 32# define __STD_TYPE typedef/* We want __extension__ before typedef's that use nonstandard base types such as `long long' in C89 mo原创 2021-03-03 10:11:08 · 762 阅读 · 0 评论 -
apt-get update 报错:*** Error in `appstreamcli‘: double free or corruption (fasttop)
环境:ubuntu 16.04在执行apt-get update时直接报错了,错误信息如下:从返回的错误信息可以看出,问题出在“appstreamcli”上。通过以下命令可以解决:sudo apt install appstream/xenial-backportssudo appstreamcli refresh –force亲测可行。...原创 2021-02-03 17:17:14 · 1373 阅读 · 1 评论 -
pthread_kill函数实例
pthread_killpthread_kill函数是用来向线程发送signal。类似于我们在linux下使用kill命令向指定的进程发送signal。函数原型:NAME pthread_kill - send a signal to a threadSYNOPSIS #include <signal.h> int pthread_kill(pthread_t thread, int sig);DESCRIPTION The pthread_kill()原创 2021-01-25 09:51:21 · 2071 阅读 · 0 评论 -
僵尸进程的产生和清理
僵尸进程的产生通俗的讲就是子进程死了,但是父进程还没有给它收尸,此时子进程就成了僵尸进程。所谓的子进程死了,实际就是指子进程的退出,包括调用exit时的正常退出,或者被kill命令用信号查杀后的异常退出。那么父进程如何给子进程收尸呢?在父进程中调用wait或waitpid接收子进程退出的状态,清理掉子进程的task_struct,释放子进程的PID。僵尸进程的处理子进程一旦成为了僵尸进程...原创 2019-12-31 18:57:33 · 1270 阅读 · 0 评论