
linux
工具 系统问题
琴棋书画诗茶酒
这个作者很懒,什么都没留下…
展开
-
Unix/Linux fork/exec的前世今生
本文是《Linux fork那些隐藏的开销》的前传《Unix/Linix fork前传》。转载注明来自公众号“Linux阅码场”。昨天(好像是上周的事了,暴雨天?),我发了个朋友圈,承诺给大家扒拉扒拉fork和exec的历史,顺便说一下fork/exec/exit/wait家族的历史。了解历史才能预测未来。写本文就是来兑现这个承诺的。一开始的Unix没有fork,一开始Unix也不需要创建新进程,一开始Unix只有exec。fork的由来fork的思想在UNIX出现几年前就出现了,时间大概是19转载 2022-05-16 15:06:34 · 327 阅读 · 0 评论 -
Linux fork那些隐藏的开销
参考链接:https://mp.weixin.qq.com/s?__biz=Mzg2OTc0ODAzMw==&mid=2247502339&idx=1&sn=536c0a37bf9ff4c746e3911857e92e48&source=41#wechat_redirect原创 2022-05-16 14:54:11 · 169 阅读 · 0 评论 -
新奇linux_命令行覆盖&动态库函数注入
覆盖命令行参数#include <stdio.h>#include <stdlib.h>#include <string.h>int main(int argc, char **argv){ char orig[16]; // 获取stack上的命令行 strcpy(orig, argv[1]); // 获取命令行之后第一时间覆盖stack上的命令行 strcpy(argv[1], "skinshoe"); getchar();}注入LD原创 2022-05-16 13:59:37 · 262 阅读 · 0 评论 -
swap分区
1、概念交换区,也叫Swap分区,是在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。2、详述硬盘分区为主分区+扩展分区 所有的逻辑分区都在扩展分区内;swap 肯定是要的分区。Swap分区,即交换区,系统在物理内存(这里应该是运行内存)不够时,与Swap进行交换。 其实,Swap的调整对Linux服转载 2022-05-15 19:42:54 · 227 阅读 · 0 评论 -
linux学习
yum查看是否有对应yum包yum list | grep sl centos里,只能有一个yum在工作一般安装软件不建议以root身份安装,建议使用普通用户。但是由于需要向系统目录中写入内容,会涉及权限问题,我们可以sodu进行临时权限提升或者su切换身份。(关于sodu的信任关系的配置会在本文2.4节阐明,建议学会vim后再进行配置)vim双屏操作底行模式下输入vs 文件名 分屏set nu 调出行号set nonu 取消行号vim的配置成本还是蛮高的,这里提供汤神的一键式v原创 2022-05-12 19:15:35 · 367 阅读 · 0 评论 -
安卓系统框架图
安卓系统框架在这里插入图片描述原创 2022-05-09 20:42:55 · 211 阅读 · 0 评论 -
linux定时器编程
signal(SIGALRM, sigFunc); //当收到SIGALRM的信号就执行sigFunc函数setitimer(ITIMER_REAL, &tv, NULL); //ITIMER_REAL–系统真实时间,根据传入的&tv参数确定,启动定时器后第一次多久发出sigalrm信号,和之后的,每一次发出sigalrm信号的时间间隔。。#include <stdio.h>#include <signal.h> #include <sys/time.h转载 2022-05-01 13:15:17 · 252 阅读 · 0 评论 -
Linux驱动地开发
arm 平台 Linux 编译:arm-linux-gcc app.cint fd = open(“/dev/led”, O_RDWR); //打开驱动设备write(fd, &val, 4); //向内核驱动程序传值;static struct file_operations my_dev_fops = { .owner = THIS_MODULE, /* 这是一个宏,推向编译模块时自动创建的__this_module变量 */ .open = led_o原创 2022-04-30 15:28:39 · 443 阅读 · 0 评论 -
linux驱动多线程编程
创建内核线程最基本的两个接口函数是:kthread_run(threadfn, data, namefmt, …)和kernel_thread(int(* fn)(void *),void * arg,unsigned long flags)这里我们主要介绍kthread_run,后面会专门分析这两个函数的异同。kthread_run 事实上是一个宏定义:/** * kthread_run - create and wake a thread. * @threadfn: the func原创 2022-04-24 17:59:50 · 839 阅读 · 0 评论 -
zcat zgrep
查看 压缩文件内容zcat -a besthappyday.tar.gz0812 happy0201 happy0403 happy9046 happy…查找 压缩文件中的内容[ zgrep -a “0201” besthappyday.tar.gz原创 2022-04-15 22:10:03 · 137 阅读 · 0 评论 -
网络通信难点解析
1、它采用了一个队列,在这单个队列中存放3次握手过程中的所有连接,但是队列中的每个连接分为两种状态:syn-recv和established;2、常规文件操作为了提高读写效率和保护磁盘,使用了页缓存机制。这样造成读文件时需要先将文件页从磁盘拷贝到页缓存中,由于页缓存处在内核空间,不能被用户进程直接寻址,所以还需要将页缓存中数据页再次拷贝到内存对应的用户空间中。这样,通过了两次数据拷贝过程,才能完成进程对文件内容的获取任务。写操作也是一样,待写入的buffer在内核空间不能直接访问,必须要先拷贝至内核空间对原创 2022-04-09 11:16:08 · 895 阅读 · 0 评论 -
计算机网络通信
1、tcp/ip协议包含 UDP TCP两种;2、linux哲学:一切皆文件,打开open –> 读写write/read –> 关闭close3、socket即是一种特殊的文件,一些socket函数就是对其进行的操作4、Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口;5、socket 它只是一个facade设计模式[外观模式]的应用,让编程变的更简单。是一个软件抽象层;6、当应用程序要创建一个套接字时,操作系统就返回一个小整数作为描述符,应用程序则使用这个原创 2022-04-09 10:36:53 · 180 阅读 · 0 评论 -
软件设计模式
软件设计模式链接 :http://c.biancheng.net/view/1369.html原创 2022-04-09 10:17:26 · 62 阅读 · 0 评论 -
Unix/Linux的System V、BSD、Posix概念
UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal)UNIX system V有:消息(message)、共享存储区(shared memory)和信号量(semaphore)等.转载链接:UNIX两种风格SystemV的鼻祖正是1969年AT&T开发的Unix,随着1993年Novell收购AT&T后开放了Unix的商标,SystemV的风格也逐渐成为Unix厂商的标准。BSD的鼻祖是加州大学伯克利分校在1975年开发的BSDUnix,原创 2022-04-09 10:11:29 · 639 阅读 · 0 评论 -
编程指北学习
这题我会!滑到了就别划走啦!作为一个刚毕业,目前在鹅厂工作的 CS 学长,给学弟学妹们一点学习建议。既然是学习CS,那么在这里,我粗浅的把计算机编程领域的知识分为三个部分:基础知识特定领域知识框架和开发技能基础知识是指不管从事任何方向的软件工程师都应该掌握的,比如数据结构、算法、操作系统。特定领域知识就是你从事某个细分方向时需要掌握的知识,比如做游戏引擎的需要掌握图形学;做前端的需要掌握浏览器渲染原理、前端三大件;算法工程师需要更多的数学知识。毕竟计算机各种门类挺多的,需要选个细分方向专研下去,什么都学只会原创 2022-03-25 12:36:23 · 1582 阅读 · 0 评论 -
安装虚拟机问题vmware authorization service 服务找不到,请确认是否存在,没有权限
一、背景安装过程中出现vmware authorization service 启动失败,请确认权限。win+R运行services.msc找到所有的vmware开头的服务禁用。其他两个都禁用了,但是vmware authorization service没有描述的错误,错误码2。二、解决方法1、删除C:\Program Files (x86)\Common Files的VMware文件夹,然后用管理员权限运行cmd,执行sc delete VMAuthdService,2、检查服务里面没有vmwa原创 2021-06-12 18:20:38 · 3095 阅读 · 0 评论 -
Linux网络编程入门 (转载)
Linux网络编程入门 (转载):https://www.cnblogs.com/skyofbitbit/p/3657946.html手把手教你玩GDB:https://www.cnblogs.com/skyofbitbit/p/3672848.html原创 2019-11-24 12:24:30 · 210 阅读 · 0 评论 -
优秀日志链接
链接原创 2020-02-29 22:20:43 · 150 阅读 · 0 评论 -
链接——linux
percy振云:https://www.percychen.com/blog/tools原创 2020-01-28 21:23:01 · 96 阅读 · 0 评论 -
vimrc存档
vimrc存档摘要:个人的vimrc配置"易用性 beginset incsearch "实时查找set hlsearch "高亮查找set ignorecase smartcase "智能大小写查找syntax on ...原创 2020-01-28 21:17:23 · 244 阅读 · 0 评论 -
linux知识点记录
输入输出重定向1、命令 < 文件1 > 文件2 将文件1作为命令的标准输入并将标准输出到文件22、命令 << 分界符 从标准输入中读入,知道遇到分界符才停止3、命令 < 文件 将文件作为命令的标准输入4、命令 2> 文件 将错误输出重定向到一个文件中5、命令 &> 文件 将标准输出和错误输出共同写入到文件中vim1、set nu 显示行号2、set nonu不显示行号shell[ -e 文件] 判断一个文件是否存在计划服务程序一次原创 2021-12-06 17:03:42 · 127 阅读 · 0 评论 -
配置centos网关(ok),可以ping通外网
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneIPV4_FAILURE_FATAL=yesIPV6INIT=yesIPV6_AUTOCONF=noIPV6_DEFROUTE=noIPV6_FAILURE_FATAL=yesIPV6_ADDR_GEN_MODE=stable-privacyNAME=enp0s31f6UUID=b5a753f0-8fe6-46fc-828b-3b541bf776c4MACADDR=8原创 2020-08-25 10:48:02 · 202 阅读 · 0 评论 -
cento 添加网关
在 /etc/profile 最后添加route add default gw 192.168.254.1原创 2020-07-23 15:57:44 · 194 阅读 · 0 评论 -
yum 源
* base: mirrors.ustc.edu.cn* epel: fedora-mirror.zerocopy.io* extras: mirrors.ustc.edu.cn* updates: mirror.bit.edu.cn原创 2020-07-09 14:38:00 · 204 阅读 · 1 评论 -
添加设置路由
添加设置路由route听语音原创|浏览:2085|更新:2017-07-28 15:11route命令解析、永久路由设置、跨网段互通工具/原料Linux系统命令行方法/步骤1route命令解析:添加到主机的路由:route add –host 192.168.1.10 dev eth0route add –host 192.168.1.10 gw 192.168.1.1添加到网络的路由:route add –net 192.168.1.0 netmask 255.255.255.原创 2020-06-19 14:21:39 · 430 阅读 · 0 评论 -
Centos下查看和修改网卡Mac地址
Centos下查看和修改网卡Mac地址linux/Centos下查看网卡Mac地址,输入命令:#ifconfig -aeth0 Link encap:Ethernet HWaddr 00:e4:56:2E:D8:2000:e4:56:2E:D8:20即是你的MAC地址。linux/Centos下以root权限临时修改MAC地址:1)闭网卡设备/sbin/ifconfig eth0 down2)修改MAC地址/sbin/ifconfig eth0 hw ether MAC地址3)重启网卡原创 2020-06-19 10:27:20 · 13159 阅读 · 0 评论 -
使用/proc文件系统和内核打交道(1)-初步建立关系
https://blog.51cto.com/freshpassport/600735原创 2020-05-28 14:00:14 · 163 阅读 · 0 评论 -
中断信号
pending :http://senlinzhan.github.io/2017/03/02/linux-signal/原创 2020-05-23 16:17:17 · 678 阅读 · 0 评论 -
shell bash
1、 立即生效 source /etc/profile原创 2020-05-11 17:51:00 · 136 阅读 · 0 评论 -
shell脚本
#!/bin/shcount=0result="$2"//第二个参数while [ $count -ne 100 ]dot=“1"//第一个参数basename="2kw.bin"letcount+=20str=""1"//第一个参数basename="2kw.bin"let count+=20str="_"1"//第一个参数basename="2kw.bin"letcount+=20str=""count;name=basename{basename}basename{str}ech原创 2020-05-10 15:56:12 · 123 阅读 · 0 评论 -
linux 教程网页链接
linux 教程:https://linuxtools-rst.readthedocs.io/zh_CN/latest/原创 2020-05-08 17:55:46 · 389 阅读 · 0 评论 -
在C中,我应该如何读取文本文件并打印所有字符串?
char str[999];FILE * file;file = fopen( “test.txt” , “r”);if (file) {while (fscanf(file, “%s”, str)!=EOF)printf("%s",str);fclose(file);}原创 2020-04-07 16:20:02 · 999 阅读 · 0 评论 -
tty编程
include <stdio.h>#tr.c_cflagnclude <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <termio...原创 2020-04-07 09:40:42 · 488 阅读 · 0 评论 -
linux tty
stty 命令设置tty波特率:busybox stty -F /dev/ttyS0 raw speed 115200min 0 time 21、我遇到的一个坑:波特率不对,收不到数据2、stm32和linux连接的接口是ttySxcat /dev/ttyS3 :接收echo “xxxxxxxxxx” > /dev/ttyS3 :发送...原创 2020-04-03 10:24:43 · 263 阅读 · 0 评论 -
linux 用户态和内核态以及进程上下文、中断上下文 内核空间用户空间理解
1、特权级Intel x86架构的cpu一共有0~4四个特权级,0级最高,3级最低,ARM架构也有不同的特权级,硬件上在执行每条指令时都会对指令所具有的特权级做相应的检查。硬件已经提供了一套特权级使用的相关机制,软件自然要好好利用,这属于操作系统要做的事情,对于UNIX/LINUX来说,只使用了0级特权级别和3级特权级,即最高最低特权级。也就是说在UNIX/LINU...转载 2020-03-09 10:39:29 · 596 阅读 · 0 评论 -
Linux下直接读写物理地址内存
Linux下直接读写物理地址内存虚拟 转 物理地址 virt_to_phys( *addr );物理 转 虚拟地址 phys_to_virt( *addr );如:unsigned long pProtectVA;phys_addr_t ProtectPA;gM4U_ProtectVA = pProtectVA;ProtectPA = virt_to_phys((void *)...转载 2020-03-09 09:21:39 · 768 阅读 · 0 评论 -
ubuntu取消未完成的安装
ubuntu取消未完成的安装 (2011-03-14 19:48:07)转载▼标签: 上次安装未完成 无法取得锁 flashplugin 分类: 实验室刚装的ubuntu10.04,firefox老是提示缺少插件,要安装flashplugin,可是不论是从firefox安装,还是用apt-get install flashplugin,或者从新立得安装都是半天没动靜,连不上adobe的服务器....原创 2020-02-29 20:34:46 · 2977 阅读 · 0 评论