logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux—— 进程管理核心操作与原理总结(一)

文章对比了exit()和_exit()函数的区别,前者会执行用户资源清理并刷新缓冲区,后者直接结束进程;解释了printf函数缓冲机制及触发输出的条件;介绍了main函数参数和fork()创建子进程的原理;分析了僵死进程(子进程先结束未被父进程回收)和孤儿进程(父进程先结束)的形成及处理方法,如使用wait()获取子进程退出码避免僵死状态。全文围绕进程控制展开,涵盖进程终止、输出缓冲、参数传递及进

文章图片
#linux#运维#服务器
Linux——进程管理核心操作与原理总结(二)

本文总结了Linux进程管理中的核心操作与原理,重点介绍了文件操作相关的系统调用函数。文章详细讲解了open()、write()、read()和close()等文件操作函数的使用方法及参数说明,解释了文件描述符的概念及其分配规则(0-2为标准输入/输出/错误)。特别分析了fork()创建子进程时文件描述符的两种共享机制:先open后fork会共享文件偏移量,而先fork后open则各自独立。此外,

文章图片
#java#算法#linux
Linux——信号的使用

本文介绍了信号的基本概念及其在系统编程中的应用。信号是系统响应事件产生的软中断,进程接收信号后会执行相应操作。文章重点讲解了signal()和kill()两个关键系统调用:signal()用于修改信号处理方式(SIGINT、SIG_IGN、SIG_DFL),kill()用于向指定进程发送信号,支持多种目标进程选择方式。这些功能是进程间通信的重要机制。

文章图片
#linux#运维#服务器
Linux——简易 Linux Shell 的实现

本文通过C语言实现了一个简易的Linux Shell解释器,模拟了Shell的核心执行流程。系统首先区分用户身份(普通用户$或管理员#),获取并显示用户名、主机名和当前路径作为提示符。然后通过strtok()函数解析用户输入的命令行,将其拆分为命令和参数数组。主函数处理内置命令(如cd和exit)后,通过fork()创建子进程,使用execvp()执行外部命令,父进程则等待子进程结束。该实现完整展

文章图片
#linux#bash#运维
数据结构——串的模式匹配算法(BF算法、KMP算法)

本文介绍了两种字符串模式匹配算法:BF算法和KMP算法。BF算法通过逐个比较字符进行匹配,时间复杂度最坏为O(n*m)。KMP算法利用最长相等前后缀信息优化匹配过程,主串指针不回退,时间复杂度为O(n+m)。重点讲解了KMP算法的next数组推导方法,并通过多个示例说明计算过程。最后提出了改进的KMP算法(nextval数组),通过复用相同字符的next值进一步优化性能,减少了不必要的比较。文中给

文章图片
#算法#数据结构
Linux—— 进程管理核心操作与原理总结(一)

文章对比了exit()和_exit()函数的区别,前者会执行用户资源清理并刷新缓冲区,后者直接结束进程;解释了printf函数缓冲机制及触发输出的条件;介绍了main函数参数和fork()创建子进程的原理;分析了僵死进程(子进程先结束未被父进程回收)和孤儿进程(父进程先结束)的形成及处理方法,如使用wait()获取子进程退出码避免僵死状态。全文围绕进程控制展开,涵盖进程终止、输出缓冲、参数传递及进

文章图片
#linux#运维#服务器
到底了