
Linux
文章平均质量分 50
小白笑苍
沉默是一种生活方式。
展开
-
巧夺天工的kfifo
https://linyt.blog.youkuaiyun.com/article/details/5764312?fromshare=blogdetail&sharetype=blogdetail&sharerId=5764312&sharerefer=PC&sharesource=toyijiu&sharefrom=from_link转载 2024-09-24 17:13:17 · 63 阅读 · 0 评论 -
linux circular-buffers
Circular Buffers原创 2024-09-23 09:45:33 · 113 阅读 · 0 评论 -
同步IO和异步IO的差异
阻塞行为:同步I/O: 进程发起I/O操作后会阻塞,直到I/O完成。异步I/O: 进程发起I/O请求后立即返回,不会阻塞。内核数据拷贝:同步I/O: 数据从内核空间拷贝到用户空间是在进程的上下文中完成的。异步I/O: 内核负责将数据拷贝到用户空间,无需进程参与。完成通知:同步I/O: I/O操作完成后,进程自动从阻塞状态恢复。异步I/O: 通过信号或回调函数通知进程I/O已完成。系统调用:同步I/O: 使用read(), write()等传统系统调用。异步原创 2024-08-29 17:05:36 · 300 阅读 · 0 评论 -
shell代码,统计所有iptables,ip6tables规则,按五链分别保存到对应.md文件
【代码】shell代码,统计所有iptables,ip6tables规则,按五链分别保存到对应文件。原创 2024-08-29 09:46:11 · 134 阅读 · 0 评论 -
进程组(Process Groups)简单介绍
进程组是一个或多个进程的集合,这些进程通常与同一作业或应用程序相关联。每个进程组都有一个唯一的进程组ID(PGID)。创建进程组的进程被称为组长。组长的进程ID(PID)通常与进程组ID(PGID)相同。进程组是介于单个进程和会话(session)之间的一个组织层次。该管道命令会创建一个新的进程组,包含三个进程,并在后台运行。原创 2024-07-23 17:38:10 · 449 阅读 · 0 评论 -
SIGINT 和 SIGTSTP 信号区别
SIGINT 和 SIGTSTP 是 UNIX /类UNIX 系统中的两种不同的信号,它们用于进程间通信和控制.含义:中断信号默认行为:终止进程通常触发方式:用户在终端按下 Ctrl+C信号编号:通常为 2目的:用于请求程序立即终止含义:终端停止信号默认行为:暂停(挂起)进程通常触发方式:用户在终端按下 Ctrl+Z信号编号:通常为 20目的:用于暂停进程的执行,但不终止进程。原创 2024-07-23 16:01:02 · 642 阅读 · 0 评论 -
fork()和exec()的区别,使用场景
fork()和exec()是Unix/Linux系统编程中常用的两个函数,主要用于创建新进程。原创 2024-07-23 11:29:53 · 442 阅读 · 0 评论 -
linux内核管理物理内存的二进制伙伴算法(Binary Buddy Algorithm)
二进制伙伴算法(Binary Buddy Algorithm)是Linux内核用于管理物理内存的一种高效算法。原创 2024-07-19 14:09:39 · 387 阅读 · 0 评论 -
linux 用户/内核空间分配原理,修改方法
这种分配方式被称为3/1分割(3G/1G split)。原创 2024-07-19 10:10:43 · 415 阅读 · 0 评论 -
linux /proc 文件系统介绍
proc文件系统提供了一种简单而强大的机制,允许用户空间程序和内核之间进行交互,实现了对内核参数的动态查看和修改,而无需重新编译内核或重启系统。原创 2024-07-19 09:54:23 · 441 阅读 · 0 评论 -
linux kernel slab分配器
slab分配器是一种高效的内存管理机制,主要用于小块内存的分配和释放。原创 2024-06-27 11:01:07 · 384 阅读 · 0 评论 -
popen底层实现原理
popen是C语言标准库中的一个函数,它提供了一种方便的方式来执行外部命令并与之进行通信。原创 2024-05-27 10:58:16 · 573 阅读 · 0 评论 -
linux fork()函数调用原理
在Linux中,fork函数用于创建一个新的进程,该进程是调用进程的子进程。下面我将详细说明fork函数在代码流程中的原理和用户态与内核态的交互过程。这就是Linux中fork函数创建进程的代码原理流程,以及用户态和内核态的交互过程。fork函数通过系统调用将进程创建的任务委托给内核,内核负责实际的进程创建和管理工作,并返回结果给用户态程序。通过fork系统调用,内核会创建一个新的进程,该进程拥有与父进程相同的代码、数据、堆栈等,但有自己独立的进程控制块和内核栈。原创 2024-05-26 16:17:31 · 608 阅读 · 0 评论 -
linux中系统调用的原理
整个过程中,用户态和内核态之间的切换是通过软中断(如int 0x80或syscall指令)来实现的。内核态具有更高的权限,可以访问系统资源和执行特权指令。通过系统调用,用户态程序可以请求内核提供服务,并获取所需的结果。这就是Linux中系统调用的基本原理和代码处理流程。系统调用提供了用户态和内核态之间的接口,使得用户程序能够访问和利用系统资源,同时也保证了系统的安全性和稳定性。Linux中系统调用的原理涉及到用户态和内核态之间的切换以及参数传递。原创 2024-05-26 16:03:30 · 382 阅读 · 0 评论 -
PPPoE lcp和ncp协商
在 PPPoE(Point-to-Point Protocol over Ethernet)拨号连接中,一旦 LCP(Link Control Protocol)成功协商并建立了 PPP 连接,接下来会进行 NCP(Network Control Protocol) 协商,以协商并配置网络层参数,通常是 IP 地址和相关配置。总之,LCP 协商是在 PPPoE 拨号连接建立过程中的一个关键步骤,它确保了连接的各种参数和特性都能正确配置,以满足连接的要求。LCP 允许双方协商通信中的最大传输单元(MTU)。原创 2023-10-10 14:16:20 · 1428 阅读 · 0 评论 -
linux常用指令
常用指令hostname 查看主机名 cat proc/sys/kernel/hostname 查看主机名hostname newName 修改主机名 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir 创建目录 -p 创建目原创 2017-04-05 20:33:20 · 380 阅读 · 0 评论 -
linux一些有趣的命令
cmatrixsudo apt-get install cmatrix cmatrix onekosudo apt-get install oneko oneko 执行后屏幕上会出现一个小猫不停走动的图像 aafiresudo apt-get install libaa-bin aafire 会出现一团火焰 cowsay 牛说话sudo apt-get install cowsay原创 2017-05-16 17:57:53 · 497 阅读 · 0 评论 -
linux 输出重定向,管道,cut,grep,wc,sort
重定向符号> 输出重定向到一个文件或设备 覆盖原来的文件 >! 输出重定向到一个文件或设备 强制覆盖原来的文件 >> 输出重定向到一个文件或设备 追加原来的文件 \< 输入重定向到一个程序 标准错误重定向符号2> 将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件 b-shell原创 2017-05-16 18:53:58 · 1425 阅读 · 0 评论 -
linux线程1
线程概念线程是操作系统能够进行调度运算的最小单位,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。主线程,这是一个进程的初始线程,其入口函数为main函数。新线程的运行时机,一个线程被创建之后有可能不会被马上执行,甚至,在创建它的线程结束后还没被执行;也有可能新线程在当前线程从pthread_crea原创 2017-05-29 08:58:36 · 249 阅读 · 0 评论 -
linux线程2
线程的属性线程的创建借口pthread_create第二个入参attr指定新建线程的相关属性,一个线程的属性主要包括:线程栈地址和大小,线程的调度策略和优先级,线程是否属于分离detach状态等.属性的初始化和销毁,初始化必须在线程创建接口前#include <pthread.h>int pthread_attr_init(pthread_attr_t *attr); int pthre原创 2017-05-29 10:11:26 · 327 阅读 · 0 评论 -
linux线程3-互斥与同步
简介多线程共享一个进程的地址空间,多线程间通信容易进行,但是多线程同时访问共享对象时需要引入同步和互斥机制.同一个进程的线程共享进程内的绝大部分资源,当一段访问这些共享资源的代码块,有可能被多个线程执行,那么这块代码就被叫做临界区.当有多个线程并发的在临界区执行时,程序的执行结果会出现不确定性,这种情况被叫做静态条件.一个demo代码//// Created by wuxiao on 17原创 2017-05-30 02:45:45 · 336 阅读 · 0 评论 -
20个高大上的linux命令
转载[Cheny]http://blog.youkuaiyun.com/apache0554/article/details/45850749)的博客1. 以 root 帐户执行上一条命令sudo !!2. 利用 Python 搭建一个简单的 Web 服务器,可通过 http://$HOSTNAME:8000访问 python -m SimpleHTTPServer3. 切换到上一次访问的转载 2017-07-11 16:20:51 · 552 阅读 · 0 评论 -
iperf命令说明
今天用到了iperf这个工具了,之前没怎么用过,找到了一篇说明的博客,挺详细的,原文地址[iperf命令](http://man.linuxde.net/iperf). iperf命令 网络测试 iperf命令原创 2017-07-13 09:43:36 · 15164 阅读 · 0 评论 -
linux gedit显示行数的设置
今天通过gedit看一个文件的时候想找到具体的文件行数,但是gedit默认是不显示代码行数的,所以需要设置一下: Gedit 编辑->视图原创 2017-07-14 08:38:47 · 7793 阅读 · 0 评论 -
【转】linux下kill进程的N种方法
转载一篇,最原始的出处已不可考,望见谅!常规篇: 首先,用ps查看进程,方法如下:$ ps -ef……smx 1822 1 0 11:38 ? 00:00:49 gnome-terminalsmx 1823 1822 0 11:38 ? 00:00:00 gnome-pty-helpersmx 1824 1转载 2017-07-14 08:49:55 · 355 阅读 · 0 评论 -
Files and Directories
Introductionstat functions,describe each of theselook more details of the structure of the Unix file system and symbolic linksoperate on directories adn some others.stat,fstat,fstatat,lstat functio原创 2017-07-06 12:19:13 · 406 阅读 · 0 评论 -
UNIX System Overview
UNIX Architecturea kernel is a software that contrals the hardware resources of the computer and provides an environment under which programs can run.system calls:a layer of software,is the interface原创 2017-06-26 22:44:56 · 407 阅读 · 0 评论 -
UNIX File I/O
Introductionmost file I/O on a UNIX system can be performed using only five functions:open,read,write,lseek and closethe functions described in this chapter are often unbuffered I/O,,unbuffered means原创 2017-06-27 22:40:16 · 299 阅读 · 0 评论 -
shell下打开软件提示磁盘空间不足的问题解决
今天在/repo/ewwuxxo/racoam目录下想打开一个软件,提示打开失败,失败原因是磁盘空间不足。之前都用的好好的,怎么突然磁盘不足了呢,然后开始找原因。 输入 df -k /repo/ewwuxxo/racoam 查看当前目录磁盘使用情况: 100%使用率,是哪个文件搞得呢,再输入 du -lh –max-depth=1查看目录下的base目录的使用情况: node文件夹这么原创 2017-07-21 10:49:34 · 910 阅读 · 0 评论 -
the difference between shutdown, poweroff, halt and reboot
In this article, we will explain to you the difference between shutdown, poweroff, halt and reboot Linux commands. We will make clear what they actually do when you execute them with available options.转载 2017-07-18 15:25:45 · 652 阅读 · 0 评论 -
How to install codeblocks in RedHat without root authority
How to install codeblocks in your user directory without root and system file authorityinstall wxWidgetsenter wxwidgets website to download the version of Source Code named “Source for Linux,OS X,etc”原创 2017-08-08 16:45:00 · 477 阅读 · 0 评论 -
Working with Commands
Working with Commandscommands can be one of four different things: - an executable program. - a command built into the shell itself. - a shell function. - an alias.typedisplay a command’s type,comm原创 2017-08-08 16:53:54 · 248 阅读 · 0 评论 -
Commands about IO Redirection
Commands about I/O Redirectionthe commands that will show in this article:cat:concatenate filessort:sort lines of textuniq:report or omit repeated linesgrep:print lines matching a patternwc:print原创 2017-08-09 14:13:46 · 379 阅读 · 0 评论 -
The What Why and Wow Behind the CoreOS Container Linux
CoreOS,一款新的 Linux 发行版的相关介绍CoreOS,一款最新的 Linux 发行版本,支持自动升级内核软件,提供各集群间的全部配置操作控制。关于使用哪个版本的 Linux 系统,我们常常会引发相关的讨论: 你是喜欢基于 Red Hat Enterprise Linux (RHEL) 的 CentOS 或者 Fedora,还是基于 Debian 的 Ubuntu 和 SUSE 呢?翻译 2017-08-09 22:06:14 · 340 阅读 · 0 评论 -
How to fix the problem of executing gitenv.csh file failed
How to fix the problem of executing “gitenv.csh” file failedThe ProblemToday when I checkout from one branch to another branch,I can’t use the command of ‘rsarte_rac_oam’.I guess there has someting wro原创 2017-07-26 16:54:58 · 603 阅读 · 0 评论 -
How to copy and paste quickly in the shell
We often need to do some copy and paste opreration in the shell,but it is too slow to use ctrl+c and ctrl+v,and sometimes even it does’t work and you have to do it by clicking the right button.But the原创 2017-07-27 08:09:00 · 369 阅读 · 0 评论 -
Bash prompt tips and tricks
Linux Bash 提示符的一些骚操作一些能让你自定义 Bash 提示符的黑科技 照片来源 : ajmexico. 修改自 Jason Baker. CC BY-SA 2.0.当你在 Linux 环境下打开一个 Shell 终端时,会看到命令行中出现了类似下面的一个提示符:[user@$host ~]$你知道命令行提示符其实是可以自己设置添加许多非常有用的信息的吗?在这篇文章中我就会教你如何自定翻译 2017-07-20 20:58:14 · 461 阅读 · 0 评论 -
Linux to the rescue How I introduced my organization to Linux
拯救者 Liunx:我是如何向团队介绍引入 Liunx 的在项目早期就遇到公开的失败后,一个著名大学的 IT 团队决定将他们的 web 注册系统部署到 Liunx上,此举几乎将服务器的最大用户访问量提高了3倍 图片来源于 : Opensource.com1998年,我在明尼苏达大学为一个新的 web 团队管理他们的服务器群。明尼苏达大学是一个非常大的大学,拥有接近 6000 名在校大学生。当时学校翻译 2017-07-23 23:46:53 · 281 阅读 · 0 评论 -
How to use a man page Faster than a Google search
教你如何更快速有效地利用man来代替google索引Linux 的 manual page其实拥有很多有用的信息,而且比你想象中更容易使用 照片来源于 : Internet Archive Book Images. 修改自 Opensource.com. CC BY-SA 4.0我们通常通过 google 索引来查询 Linux 中的指令说明,但是其实还有一个更好的办法:那就是通过 Linux 自翻译 2017-07-24 18:16:55 · 462 阅读 · 0 评论 -
树莓派如何挂载硬盘/U盘
默认挂载外接U盘或移动硬盘时,默认不会自动挂载,所以需要用 mount 命令挂载。通常我们在 /mnt 或 /media 目录下新建一个目录作为挂载点。比如: 查询当前硬盘目录:sudo fdisk -l挂载硬盘,sda1 是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区:sudo mkdir /mnt/1GB_USB_flashsudo mount -o uid=pi,gid=pi /转载 2017-08-18 15:54:01 · 1833 阅读 · 0 评论