搜索

共 4 篇文章

C++ RTTI(Run-Time Type Identification)

C++ RTTI(Run-Time Type Identification)

环境:

Ubuntu clang version 14.0.0-1ubuntu1.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-...

编写 Linux 内核模块

环境

华为云 ECS 服务器

root@ecs-3c5a ~# neofetch
            .-/+oossssoo+/-.               root@ecs-3c5a
        `:+ssssssssssssssssss+:`           -------------
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 24.04.2 LTS x8
    .ossssssssssssssssssdMMMNysssso.       Host: OpenStack Nova 1...

x86_64 最小 Linux 内核

编译内核

首先 Clone 下来内核源码:

git clone https://github.com/torvalds/linux.git -b v6.17 --depth=1

然后调整 make 配置:

make tinyconfig # 应用最小配置
make menuconfig # 进入配置菜单 可能需要 ncurses 库
[*] 64-bit kernel
General setup -> [*] Initial RAM filesystem and R...

Macos launchd

launchd 是 MacOS 中所有进程的父进程,对应的是 linux 中的 systemd 系统:

➜  ~ ps -ef | awk 'NR==1 || /launchd/'
  UID   PID  PPID   C STIME   TTY           TIME CMD
    0     1     0   0  5:27PM ??         0:34.04 /sbin/launchd

通过 launchctl 命令可以与 launchd 进程进行交互。比如停止 org.nixos.skhd “服务”:

launchctl stop org...