![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 52
weixin_42873905
这个作者很懒,什么都没留下…
展开
-
进程、线程、以及区别
进程、线程:进程是系统中正在运行的一个程序,程序一旦运行就是进程。进程可以看作是程序执行的一个实例。进程是系统资源分配的独立个体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构。如果想让一个进程访问两外一个进程的系统资源,需要使用进程间通讯,比如管道、文件、套接字等。一个进程可以拥有d多个线程,每个线程使用其所属进程的栈空间。一个主要的区别就是:同一进程内的多个线程会共享部分状态,多个线程可以读写同一块内存,但是一个进程就无法访问另一进程的内存。同时,每个线程还拥有 自己的原创 2020-07-30 20:18:42 · 104 阅读 · 0 评论 -
用户线程、内核线程对应关系的三种模型
一对一模型一个用户线程唯一的对应一个内核线程(反过来不成立,一个内核线程不一定有对应的用户线程,有可能是闲置的状态)优点:一个线程由于某种原因阻塞时,其他线程的执行不受影响可以让多线程程序在多处理器的系统上有更好的表现缺点:许多操作系统限制了内核线程的数量,所以用户线程的数量也会收到限制许多操作系统内核线程调度的时候,上下文切换的开销比较大,导致用户线程的执行效率下降多对一模型将多个用户线程映射到一个内核线程上,线程之间的切换由用户态的代码来实现,系统内核感受不到线原创 2021-03-22 11:25:38 · 2398 阅读 · 0 评论 -
Linux--kill项目
1.我们首先要知道kill命令有几种格式:kill pid ==> 默认 15kill -9 pid ==> 强制关闭 9kill -stop pid ==>挂起进程 19后面的数字其实就是一些信号的宏定义,可以在/usr/include/bits/signum.h下面查询。没有截全,可以自行查询。根据命令格式,主函数中要保留两个参数的位置 ,所以定义成:int main(int argc,char *argv[]);思路:1.判断参数是否够用,不够的话提示再次输原创 2020-08-10 18:54:30 · 227 阅读 · 0 评论 -
僵死进程
僵死进程:一个进程执行结束,但是进程的PCB没有被系统释放。进程结束后,还要在PCB中保存ji进程退出码,以备其父进程获取。实例:父进程未结束,子进程结束,并且父进程没有获取子进程的退出码。#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <assert.h>#include <string.h>int main(){ pid_t pid = for原创 2020-08-10 11:55:54 · 75 阅读 · 0 评论 -
Linux--cp项目
在Linux下,cp拷贝的命令有如下格式:cp main.c main1.ccp main.c dir文件的名字:my_cp.c1.主函数中我们需要参数,所以应该设计成int main(int argc,char *argv[]){ exit(0);}其中:argv[0] : “./my_cp.c”argv[1] : “源文件的路径+文件名”argv[2] : “目的文件的路径/文件名”argc : 参念列表中的参数个数思路:1.判断参数列表中的个数是否够,不够的话是没有办原创 2020-08-09 20:04:33 · 352 阅读 · 0 评论