Home
little Joy Personal
Cancel

systemd 为何使用cgroups

systemd-cgroups 理想情况下,一个service有一个与之对应的进程。应当能清晰查找,但实际情况有些不同。一个service可能使用了多个进程,且对于守护进程,它可以生成任意第三方进程, 这会使得service的进程管理实际变得困难。即很难通过 ps 命令只看看明白。尽管可以使用ps xajf 查看进程继承数,但仍有问题,如父进程退出的进程,其父进程PID 会被重定向到ini...

sysV init 简要介绍

sysV init介绍 经典的init启动程序。使用的相关命令 service ,chkconfig。目前主流linux发行版已经不用了,简单了解。 另外,systemd可以兼容sysV init的配置脚本。 优点 概念简单,只需要编辑脚本。启动顺序确定,严格按照启动数字的大小顺序执行,一个执行完毕再执行下一个,有益于错误排查。 缺点 启动时间长,init是串行启动,只有前一个进程启动...

systemd 系统状态检查

bootup检查,系统状态查看 在linux bootup时,会显示大量信息,可以使用 systemctl 命令查看所有服务,磁盘,挂载,定时器等的状态信息。 $ systemctl UNIT LOAD ACTIV...

init进程--systemd

第一个进程 Linux系统启动的第一个进程,传统的就是init进程,也被称为SysV init启动系统。特点的串行启动,现代的linux一般使用systemd代替init启动进程, 并行启动,速度快,但更加庞大复杂。中间也出现过upstart启动进程,在Ubuntu上使用过,(Ubuntu15后就是用systemd代替了upstart), systemd启动效率比upstart更佳。(主要...

gdb远程调试

有时程序的开发机器和运行的目标机器不是同一台设备,需要在目标机器环境调试,即需要远程调试。 一个简单的方式是使用telnet或ssh等工具登录到目标机器,再使用gdb进行本地调试即可。如果没有这样的条件,也可以使用gdbserver工具进行远程调试。 gdbserver GDBserver是一个独立于GDB的调试服务器工具,它允许GDB通过网络连接到运行在远程目标系统上的调试目标。 GD...

关于终端尺不适配的问题

有时,使用终端软件打开发板的串口终端。由于开发板的串口终端好像不能自适应,经常出现和实际软件的终端大小不一的问题,导致显示混乱。 这里使用一个简单的方法,记录当前软件提供的终端大小,然后到开发板的串口终端重新设置,只要不改变软件终端窗口大小,就没问题。 首先要获取软件终端的窗口大小 在主机的终端软件(如Xshell等)上新建一个会话,连接到一个x86的linux系统,然后输入命令 st...

gdb调试多线程程序

在Linux中可以使用GDB(GNU调试器)工具来调试多线程程序。这里的线程应当更多指的内核级线程。 这里记录一些线程相关的使用指令,像一些单步调试命令,堆栈,信息等命令都是通用的。 测试程序 在main程序中创建两个线程,线程如果没有断点,每个1s打印一行,5次后退出。 注意,该程序运行中一共会有3个线程,因为程序本身就是一个线程了,还有再创建2个线程,一共3个线程。 调试中,在线程函...

gdb常用指令二

常见指令 这里记录常用的指令和基本使用方式。 单步调试相关指令 next(n) next(n)指令用于逐行执行程序,并跳过函数调用。按行执行代码,但不会进入当前行中的函数调用,(GDB会一次性执行整个函数)。 可以跳过函数内部的细节,只关注函数的结果。 next指令可以带一个参数,表示执行N行。不写默认是1,即单次执行一行 (gdb)next # 或 (gdb)next <...

gdb常用指令一

常见指令 这里记录常用的指令和基本使用方式。 程序运行控制相关指令 显示带行号的源码 使用list(l)命令可以显示源代码,方便确定行号,之后打断点可以用到。 程序启动和重启 使用 run 或 start 指令,start会在main函数处停下,run会一直运行直到第一个断点。(start相当于在main函数处放了一个断点再run)。run命令简写为r。 另外,重定向功能也是支...

gdb介绍

GDB(GNU调试器)是Linux系统环境中广泛使用的调试器之一,用于调试应用程序甚至linux内核。 GDB提供了一套命令行界面,使开发者能够在调试过程中检查程序的内部状态、变量的值以及执行流程。 一些关于GDB的重要特性和用法: 调试程序:GDB允许在程序执行过程中暂停,并逐步执行代码。可以在特定的断点处停下,检查变量的值,跟踪函数调用,并在程序崩溃时进行检查。 ...