Linux
郊眠寺山雀
王晓峰的博客 你其实没那么努力 你永远可以做得更好——平时的一些笔记和心情
展开
-
.h与.lib与.dll
.h(头文件) .lib(库文件) .dll(动态链接库文件) 之间的关系和作用的区分 - 我是张洪铭我是熊博士 - 博客园因为自己也没有彻底懂底层原理,等彻底懂了再在这儿更新转载 2022-01-05 23:51:44 · 100 阅读 · 0 评论 -
原子操作,pv操作---记录
sig_suspend(传入临时信号屏蔽字用于解除屏蔽);//将解除屏蔽和挂起进程合成为一个原子操作,具体看系统编程信号笔记++i;i++不是原子操作,因为它还临时存储了一个右值;thread_mutex;互斥锁(同类还有信号量),有线程锁时,读-改-写 会合成为一个原子操作,借此避免多线程访问内存冲突的情况,具体看系统编程线程笔记...原创 2021-12-10 15:32:26 · 552 阅读 · 0 评论 -
(笔记demo)Linux系统编程 线程部分笔记
1. 线程是程序的最小运行单元,代码段只是数据2. 和进程类似,线程也存在资源竞争,在不做管控的情况下,你并不会知道哪一个线程先运行3. 线程没有主次之分,但是进程结束,线程也就结束,所以进程的那条线程可以认为是‘主’线程4. 每条线程都拥有自己的寄存器和栈段,所以当线程结束后,线程内的数据也会被释放5. 线程之间的通信:句柄思想、共享空间、返回值、传出参数、全局变量等等线程管控↓线程管控↓线程管控↓6. 锁:线程中最重要的概念之一,管理线程多...原创 2021-12-08 18:06:33 · 828 阅读 · 0 评论 -
拓展(终端,回显,前后台,键屏监控
关键概念: 1.系统只有一个前台,其余均为后台 2.只有前台会监控键盘和屏幕 3.Linux中,后台如果执行调用前台操作,会触发SIGTTOU信号 4.终端就是一个shell程序,后续所有程序都是shell的复制,复制会继承dev/tty里shell默认打开的012三个标准 5.网络连接每次会分配一个虚拟的键盘和屏幕用于前台监控...原创 2021-12-04 19:03:04 · 671 阅读 · 0 评论 -
(笔记demo)Linux系统编程 信号部分笔记
1.信号是什么? 可以直接通过内核对进程进行操作的手段,信号被记录在PCB(进程控制块)里,当进程被杀死后,PCB也就是留下的尸体,包含了该进程的死亡信息 流程:触发发送信号操作 由用户空间转为系统内核操作,对进程PCB施加信号回到用户空间前会逐一检查各PCB中的信号2.信号种类 常规与实时,区别在后续有写,比如5, TER...原创 2021-11-30 20:41:04 · 606 阅读 · 0 评论 -
(笔记demo)Linux系统编程 进程部分笔记
1.fork创建子进程时,先复制一份父进程,大部分数据都会被复制,但父进程会返回子进程的id,子进程返回0,以此区分以umask举例,umask就是直接父进程后,直接输出自己的umask,如果创建一个0777权限的文件,因为要首先从父进程复制一份,然后0022会和0777进行一些处理(掩码,或非操作?)2.情况分析:父进程给子进程收尸 父进程死亡,子进程由孤儿院(初始进程,pid为1)收尸 产生子进程以后bash就会进入睡眠,等待子进程结束...原创 2021-11-18 21:12:27 · 829 阅读 · 0 评论 -
(笔记demo)Linux系统编程 文件IO部分笔记
1.直接对系统进行操作通常是很慢的,比如c语言标准库的IO部分在内存里开辟了新的缓存区用于减少系统read(),write()的调用,提高了效率2.open(),write(),read(),以及其他的函数等等,,,都是直接对系统进行操作,有两种常用接口 1.文件结构体,文件描述符fd 2.文件路径3.主函数参数 int *argc,int **argv 常用4.分配的文件描述符是最小的,标准输入输出错误占据了012,所以最小为3...原创 2021-11-14 21:17:45 · 1286 阅读 · 0 评论 -
Linux学习笔记 (六) 之 shell脚本编程
脚本是什么 解释性编程 通常.sh结尾 默认使用bash解释 bash -x 文件 :调试文件 文件内set -x开始调试,set +x结束调试变量 declare 变量:提醒声明了一个变量,没有也行,仅仅提醒用 局部变量 : local 变量 默认全局变量 特殊变量: $0:脚本路径和脚本文件...原创 2021-09-04 01:39:27 · 97 阅读 · 0 评论 -
Linux杂记 (持续更新)
` : 反引号, 波浪键下的点,替换命令,先执行反引号下的命令,暂时保存,再执行反引号外的命令原创 2021-09-03 10:27:22 · 84 阅读 · 0 评论 -
Linux学习笔记(五) 之 数据提取
数据切割 1. cut -d 分隔符 :设置分隔符 -f 第几组数据或范围 :切割第几组或一个范围内的数据 -c 第几个字符或范围 :切割第几个或一个范围内的字节 2. split -l 文件行数 文件地址 新文件名:将文件内部分行数切割成新文件 -c 文件内字符数 文件地址 新文件名:将文件内部分字...原创 2021-09-02 23:18:33 · 840 阅读 · 0 评论 -
Linux学习笔记(四) 之 进程管理
系统运行信息查看的常用命令 free -h:可读显示top:查看cpu使用情况,可以查看系统核数dstat:查看磁盘读写,网络收发情况 ps -fe / ps -aux:查看进程用户、id、父id、执行事件,然后对应操作 pstree:以树状展示进程情况系统进程操作的常用命令 pgrep -o/-n 进程名称:根据进程名称直接查找id,起始进程id/结束进程id kill...原创 2021-09-01 12:52:03 · 66 阅读 · 0 评论 -
Linux学习笔记(二)之 文件管理
pwd的实际使用1.pwd可以打印逻辑路径(链接)和实际路径2.pwd打印存放在变量内,再次使用变量可以回到路径下,类似于一个存档点mkdir和rm的实际使用1.mkdir创建多深度文件夹时,使用-p2.rm -rf 删除一切 但谨慎使用通配符cp和mv的使用1.cp -a 复制所有2.重命名的正确使用是用 mv文件查阅1.less很好用2.序号和读取详见nl,head和tail文件时间1.acm a:访问时间 ...原创 2021-08-30 15:40:59 · 59 阅读 · 0 评论 -
Linux学习笔记(三)之 用户管理
用户相关常用文件1.shadow文件中有关于密码的众多权限2.passwd文件中唯独没有密码3.sudoers中可以增加新的拥有sudo权限的用户和组,具体另详见用户相关常用指令1. su :有无 - 可以使得切换后是否处在切换用户的家目录 sudo -i :切换至root passwd:密码相关信息修改 usermod:用户相关信息修改 id:查看任意用户信息...原创 2021-08-31 23:16:40 · 60 阅读 · 0 评论 -
Linux学习笔记(一)之 初步了解
1.命令就是编译好的二进制可执行文件2.非内置命令,系统中查找二进制可执行文件再调入内存执行 查找过程:通过PATH,进行逐一查找二进制可执行文件 which命令可以查看优先调用的二进制可执行文件 whereis命令可以查看所有可调用的二进制可执行文件...原创 2021-08-19 20:10:43 · 105 阅读 · 0 评论