• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2026-04-01 19:26 Aet 隐藏边栏 |   抢沙发  2 
文章评分 1 次,平均分 5.0

grep

基础的用法

常用的选项

组合使用

上下文显示

正则表达式

管道组合(grep 的精髓)

tmux

三层结构

前缀键

  1. 所有快捷键都要先按一个"前缀键",默认是 Ctrl+b
  2. 比如"分屏"的操作是 Ctrl+b 然后松开,再按 %

会话(Session)管理

  1. 场景:编译 LLVM(要跑很久)

窗口(Window)管理

  1. 一个 Session 里可以有多个 Window,就像浏览器标签页:

窗格(Pane)分屏

  1. 最常用的功能——在一个窗口里分出多个区域

  1. 调整窗格大小

  1. 编译器开发的经典分屏布局

滚动和复制

  1. 默认情况下你没法用鼠标滚轮看历史输出,需要进入"复制模式":

推荐配置文件

  1. 创建 ~/.tmux.conf 文件,让 tmux 更好用:

kill

本质

  1. kill 命令的本质不是"杀死进程",而是"给进程发送信号(signal

基础用法

目标进程的 PID

信号

概述

  1. 信号是操作系统发给进程的一种异步通知
    1. "异步"意味着信号可以在进程执行的任意时刻到达,打断正在做的事情
    2. 可以把它理解为硬件中断在软件层面的对应物——硬件中断是外设通知 CPU,信号是内核通知进程
  2. Linux 有几十种信号,你需要掌握以下几个

信号的生命周期

  1. 一个信号从产生到被处理,经历四个阶段:

  1. 关键理解:
    1. 信号不是实时递送的
    2. 内核只是在进程的 task_struct 里设一个标志位,等进程下次从内核态切回用户态时,内核检查这个标志位,才真正递送信号
    3. 这就是为什么一个 CPU 密集型的纯计算进程(不做系统调用)也能收到信号——时钟中断会周期性地让进程进入内核态

信号的产生来源

信号处理的三种方式

  1. 进程收到信号后,有且只有三种选择:

信号处理的底层实现

标准信号 vs 实时信号

signal vs sigaction

  1. 注册信号处理函数有两种 API

信号掩码操作

信号处理函数中的安全问题

多线程与信号

/proc 观察信号状态

完整速查表

日常必须掌握的信号

Ctrl+C / Ctrl+Z / Ctrl+\ 的区别

  1. 这三个终端快捷键本质上就是发不同的信号

处理信号

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享