
linux
文章平均质量分 84
tpoog
本科在读,c++希望可以成为大佬
展开
-
[Linux]多线程详解
直接:原创 2024-11-16 15:05:51 · 753 阅读 · 3 评论 -
信号的解析
它是操作系统提供的一种同步机制,用于控制多个线程或进程对共享资源的访问,防止出现竞态条件。-> OS会把这个解释成2号信号,向目标进程发送,这也是为什么我们在运行代码的时候,ctrl +c可以直接终止进程的原因。signal调用结束,handler不是立即执行的,要受到相应的信号,才会执行。阻塞信号也是一个位图,比特位的位置表示信号编号,比特位的内容,表示是否阻塞该信号。我们碰到信号的时候,可以不立即处理它,但是这时候就我们需要把信号保存起来。这里,linux有core功能,这个功能是被默认关闭的。原创 2024-11-12 18:29:54 · 598 阅读 · 0 评论 -
进程间通信
4.进程控制:有些进程希望完全控制另一个进程的执行(如debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。如果关闭和等待是一起写的,关闭一个等待一个,那进程就无法退出,因为退出的判断是当管道中没有写端之后那就会自动关闭,3.通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)他会创建一个内存级的文件,匿名文件(管道)只能进行有血缘关系的进程,进行进程间通讯!概念:一个进程把自己的数据,能够交给另外一个进程。原创 2024-10-24 17:11:32 · 585 阅读 · 0 评论 -
[Linux]自定义shell详解
写之前我们先看看一个完整的shell都包括了什么$符号前面(包括这个符号)就是命令行提示符,后面就是命令行字符串了。原创 2024-09-19 17:21:28 · 706 阅读 · 1 评论 -
[Linux]进程地址空间
fork之后代码共享,那存放数据的地址会是一样的吗?我们用代码来验证一下这里我们发现了一个问题,同一个变量,内容不一样但是地址是一样的。原创 2024-09-18 16:47:46 · 310 阅读 · 0 评论 -
[Linux] 进程优先级 && 进程的调度与切换 &&环境变量详解
main函数也是有参数的,argv为指针数组(命令行参数表),argc是数组中元素的个数,env就是环境变量表我们先来谈谈前面两个参数这里就容易看出来了,argc就是指针函数argv的参数个数,argv就是命令行参数表通过不同的选项实现不同的功能;命令行参数是linux指令选项的基础。为了方便理解我们可以写一个实现加减乘除的代码来解释一些//实现+-*/四种运算if(argc!=4)else这就是通过不同的选项实现不同的功能。原创 2024-09-16 11:23:41 · 1066 阅读 · 2 评论 -
详解Linux进程
进程在我们的电脑和手机上是无处不在的。例如我们windows系统下的任务管理器这一个个的启动项就是我们的进程。我们在这个图片上可以看出,进程是需要用到CPU的资源的。当我们开启一个可执行程序,那么这个可执行文件就被加载到内存中,这个可执行程序就是进程。那么在我们的CPU有那么多的进程,CPU是怎么把他们区分并执行起来呢?我们刚刚提到CPU去管理进程,这个说法是有些不对的,实际上,真正管理进程的软件是操作系统操作系统就是我们常常说的例如:windows,macOS,linux;原创 2024-03-31 13:55:29 · 803 阅读 · 0 评论