alias命令 功能:给命令自定义别名 语法:alias name = value 例子:alias pg='ps aux | grep'(那么下次想查看进程名为abc的信息直接输入pg abc即可) cat命令 功能:查看文件内容 语法:cat 参数 参数:被查看的文件路径 cd命令 功能:切换工作目录 语法:cd [目标目录] 参数:目标目录,…
线程同步 同步即协同步调,多个线程对公共区域数据按序访问,防止数据混乱,产生与时间有关的错误。 线程同步,指一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回。同时其他进程为保证数据一致性,不能调用该功能。 因此,当有多个控制流共同操作一个共享资源时,就需要同步 数据混乱原因 资源共享(独享资源则不会) 调度随机(意味着数据访问会出现竞争…
进程组和会话 进程组是多个进程的集合,而会话是多个进程组的集合 每个进程都属于一个进程组,当父进程创建子进程的时候,默认子进程与父进程属于同一进程组 进程组ID = 第一个进程ID(组长进程) 可以使用kill -SIGKILL-进程组ID(负的)来将整个进程组内的进程全部杀死 只要进程组中有一个进程存在,进程组就存在,与组长进程是否终止无关 创建…
相关概念 信号是软件层面上的“中断”。一旦信号产生,无论程序执行到什么位置,必须立即(用户感觉是立即,其实是要等待一个从用户区进入内核区的契机,站在CPU的时间量级上具有延迟性)停止运行,转而去处理信号,等信号处理结束,再继续执行后续指令。 每个进程收到的所有信号,都是由内核发送并处理的 与信号相关的事件和状态 产生信号: 按键产生,如:ctrl+…
IPC方法(Inter-Process Communication) Linux 环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核。在内核中开辟一块缓冲区,进程1把数据从用户空间拷贝到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提…
重定向 概念:在 Linux系统中,重定向是将命令的输入或输出从默认的终端设备(如屏幕)重定向到其他位置(如文件)或从其他位置读取数据。常见的重定向操作包括: 输出重定向:将命令的输出写入文件,而不是显示在终端上 追加重定向:将输出追加到文件末尾,而不是覆盖 输入重定向:从文件中读取输入,而不是从终端键盘输入 这些重定向符号分别是 >(输出重…
open/close函数 查看open函数帮助手册: 终端:man 2 open(按G跳转到末尾,一般会有小demo) vim:光标移到函数处,命令模式下输入2K(2代表系统调用) 头文件可简化为:#include<unistd.h>和#include <fcntl.h> open函数返回值为文件描述符,三个参数分别为:文件…
gdb调试工具 前提:编译时添加 -g选项,得到调试表 gcc gdbtest.c -o a.out -g 如果忘记加 -g选项编译就进入gdb调试,报错如下: 解决方法: 退出gdb调试工具,重新加上 -g选项再编译 不退出gdb调试工具,输入命令file a.out即可 常用指令: 打开gdb调试工具:gdb ./a.out 列出源码以及行号:…
vim 三种模式的转换: *命令模式 * 插入:进入输入模式 i:在光标前进行输入 a:在光标后进行输入 I:在光标所在行首进行输入 A:在光标所在行尾进行输入 o:在光标下一行进行输入 O:在光标上一行进行输入 删除:其实是剪切到缓冲区 删除单个字符:x(删的是光标上的那个字符) 删除一个单词:dw(光标必须处于这个单词的第一个字母) 删除光标至…
Linux目录结构: Linux系统目录: bin:存放二进制可执行文件 boot:存放开机启动程序 dev:存放设备文件: 字符设备、块设备 home:存放普通用户 etc:用户信息和系统配置文件 passwd、group lib:库文件:libc.so.6 root:管理员宿主目录 usr:用户第三方应用 Linux系统文件类型: 7种(加上未…