Linux
文章平均质量分 81
请叫我阿渌
凡有所学,皆成性格。
展开
-
C++ 编译错误:fatal error:Killedsignalterminatedprogram cc1plus
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u0AWiSaI-1677635658750)(https://qiniu.sodalu.top/uPic/2023-03-01-09-48-29-image-20230301094813525.png)]使用 Colcon 在编译 ROS2 源码时,编译到 rosbag2_transport 时报错。使用*度查找后,发现是虚拟机内存不足的原因,需要创建 swap 分区。原创 2023-03-01 09:54:35 · 1369 阅读 · 3 评论 -
常用makefile
常用makefile编译C语言文件# get the .c filessrc = $(wildcard *.c)# target that we needobj = $(patsubst %.c, %, $(src))# warnwrning = -wall -g# targetall:$(obj)# rules%:%.c gcc $< -o $@# fake file.PHONY:clean# cleanclean: -rm -rf $(原创 2020-07-23 13:51:12 · 84 阅读 · 0 评论 -
VIM常用快捷键(转)
VIM常用快捷键一、移动光标h,j,k,l 上,下,左,右ctrl-e 移动页面ctrl-f 上翻一页ctrl-b 下翻一页ctrl-u 上翻半页ctrl-d 下翻半页w 跳到下一个字首,按标点或单词分割W 跳到下一个字首,长跳,如end-of-line被认为是一个字e 跳到下一个字尾E 跳到下一个字尾,长跳b 跳到上一个字B 跳到上一个字,长跳0 跳至行首,不管有无缩进,就是跳到第0个字符^ 跳至行首的第一个字符$ 跳至行尾gg 跳至文首G 调至文尾5gg/5G 调至转载 2021-11-26 18:49:05 · 293 阅读 · 0 评论 -
makefile/Makefile
makefile/Makefile脚本语言;根据需求,编写自己的makefile,完成大量有规律的重复性工作;ubuntu自带makefilemake main先编写 main.c,在执行上面指令#include <stdio.h>#include <unistd.h>int main(int argc, char* argv[]){ int a, b; a = 5; b = 8; printf原创 2020-07-22 18:16:08 · 222 阅读 · 0 评论 -
Linux 进程控制块 PCB(process control block)
PCB(process control block)可使用命令locate sched.h查看位置:/usr/src/linux-headers-4.15.0-107/include/linux/sched.hstruct task_struct { 结构体text段-代码段text段存放程序代码,运行前就已经确定(编译时确定),通常为只读。rodata段(read-only-data)-常量区rodata段存储常量数据,比如程序中定义为const的全局变量,#define定义的常量,以及诸原创 2020-08-24 16:53:29 · 1108 阅读 · 0 评论 -
Linux中的进程共享
进程共享Q1:fork()产生的父子进程有何异同?A1:fork()完成瞬间相同1、全局变量 2、.data 3、.text 4、栈 5、堆6、环境变量 7、用户 ID 8、宿主目录 9、进程工作目录10、信号处理方式…不同1、进程 ID 2、fork 返回值 3、父进程ID 4、进程运行时间5、闹钟(定时器) 6、未决信号集Q2:fork()完成时,子进程将父进程相同的内容直接copy了一份?A2:Of course not父子进程间遵循读时共享写时复制的原则(当然父原创 2020-08-25 10:02:22 · 380 阅读 · 0 评论 -
进程 相关系统函数
相关系统函数forkgetpid、getppid指令 psgetuid、geteuidgetgid、getegidfork描述创建一个子进程头文件#include <unistd.h>函数签名pid_t fork(void);返回值成功:在父进程中返回子进程的 pid (process id)(正整数);在子进程中返回0;失败:返回-1,并设置 error;学习笔记fork 函数没有参数;返回值:在总的说有两个,一个是在父进程,一个在子进程,原创 2020-08-25 10:01:20 · 128 阅读 · 0 评论 -
Linux 进程 fork、exec、wait练习
fork、exec、wait练习父进程 fork 3 个子进程,三个子进程一个调用 ps 命令,一个调用自定义程序 1(正常),一个调用自定义程序 2(会出段错误)。父进程使用 waitpid 对其子进程进行回收;#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <unistd.h>#include <sys/wait.h>int main(int arg原创 2020-08-26 19:38:58 · 544 阅读 · 0 评论 -
简述Linux中的孤儿进程和僵尸进程
孤儿进程和僵尸进程孤儿进程父进程先于子进程终止,则子进程变成孤儿进程(一个中间状态),系统很快将孤儿进程的父进程设置为 init;init进程孤儿领养进程、孤儿收养院;作用:负责作为孤儿进程的父进程,在孤儿进程终止后,回收进程释放资源;孤儿进程产生#include <stdio.h>#include <stdlib.h>#include <unistd.h>int main(){ pid_t pid = fork(); if(pid == -原创 2020-08-24 16:43:52 · 247 阅读 · 0 评论 -
Linux 回收子进程 wait/waitpid函数
wait/waitpid函数前提一个进程在终止时会关闭所有文件描述符,释放在用户空间分配的内存,但它的 PCB 还保留着,内核在其中保存了一些信息:如果是正常终止则保存着退出状态,如果是异常终 止则保存着导致该进程终止的信号是哪个。这个进程的父进程可以调用 wait 或 waitpid 获取这些信息,然后彻底清除掉这个进程。我们知道一个进程的退出状态可以在 Shell 中用特殊变量$?查看,因为 Shell 是它的父进程,当它终止时 Shell 调用 wait 或 waitpid 得到它的退出状态同时彻原创 2020-08-25 10:03:13 · 350 阅读 · 0 评论 -
fork 循环创建多个子进程
循环创建多个子进程对于以下循环创建进程是什么样的呢?int i = 0;while(i < 3){ fork(); /*功能代码*/ i++;}子进程创建如下图学习笔记对于仅含有一个 fork()的循环体,循环n次后,共有2^n个进程(包含最初始的父进程);若fork()在循环体的开端,循环体的代码将被执行 (2^(n+1)-2) 次;事实上,我们一般只让父进程 fork,不让 子进程 继续fork,所以当 fork()返回值为0时,跳出循环,这样的话,循环n次,创建n个原创 2020-08-25 10:01:40 · 5110 阅读 · 1 评论 -
kali安装配置snort实现简单的入侵检测
kali安装配置snort实现简单的入侵检测参考kali上安装配置snort以及简单实验(这篇是我安装过程中最为简洁的,也是错误较少的);Ubuntu 16.04安装snort含问题解决(示例代码)(这篇里面包含常见错误,虽然我出现的错误并没有解决);前言snort这个东西真的是魔鬼,前前后后在四个系统上安装了不知道多少次,最后终于在搭载了Ubuntu18的云服务器勉强安装完成。安装失败的主要原因网络不顺畅(这个也是以下很多原因出现的主要原因);依赖环境安装不全;配置失败的主要原因原创 2021-11-28 12:53:39 · 7392 阅读 · 6 评论