Linux
linux基础笔记
橘子洲长
笔记记笔记
展开
-
linux9.守护进程
01 概述守护进程就是运行在后台的一种特殊进程,常见的守护进程包括系统日志进程syslogd、Web服务器httpd、邮件服务器sendmail和数据库服务器mysqld等。守护进程的名称通常以d结尾,如上,或:sshd、xinetd、crond等。守护进程一般在系统启动时开始运行,除非强制终止,否则直到系统关机都保持运行;而且守护进程经常以root权限运行,因为它们要使用特殊的端口(1~1024)或访问某些特殊的资源。守护进程的父进程是init进程,因为它真正的父进程在创建出子进程后就先于子进程退原创 2020-11-17 20:13:07 · 177 阅读 · 0 评论 -
linux进程8.进程退出
01 在Linux中进程退出分为正常退出和异常退出:正常退出:(1)在main函数中执行return(2)调用exit函数(3)调用_exit函数异常退出:(1)调用abort函数(2)进程收到某个信号,而该信号使程序终止不管哪种退出方式,系统最终都会执行内核中的同一代码,这段代码用来关闭进程所用已打开的文件描述符,释放它所占用的内存和其它资源。02退出方式的不同点exit和return的区别(1)exit是一个函数,有参数,exit执行完后把控制权交给系统;(2)return原创 2020-11-17 19:17:44 · 228 阅读 · 0 评论 -
Linux进程7.进程等待
01 什么是僵尸进程僵尸进程就是已经结束了的,但是还没有从进程表中删除的进程。僵尸进程太多会导致进程表里面条目被填满,进而导致系统崩溃。在进程的状态中,僵尸进程几乎放弃了所有的内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置。他需要父进程来为它收尸,如果父进程没有安装SIGCHLD信号处理函数,调用wait()或者waitpid()等待子进程结束,又没有显式忽略该信号,那么它就一直保持僵尸状态。如果这时父进程结束了,那么init进程会自动接手这个子进程,为它收尸。可原创 2020-10-28 20:06:03 · 103 阅读 · 0 评论 -
linux进程6.进程创建
Linux主要提供了fork、vfork和clone三种方法来创建进程。01 进程获取getpid:getpid函数用来取得目前进程的进程ID,而getppid可以得到父进程的ID;许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题。getegid:获取执行有效的组识别码;02 启动进程:fork()fork()用于创建子进程,创建新的进程;表头文件:#include<sys/types.h>返回值:在父进程中返回子进程的进程号,在子进程中返回0,错误返原创 2020-10-28 18:45:47 · 187 阅读 · 0 评论 -
linux进程5.进程控制块PCB
linux的进程控制块是一个有结构task_struct所定义的数据结构,task_struct存放在/index/linux/sched.h中,包括管理进程的所需的各种信息。在创建一个新进程时,系统在内存中申请一个空的task_struct区,即空闲PCB块,并填入所需信息,同时将指向该结构的指针填入到task[]数组中。当前处于运行状态进程的PCB用指针数组current_set[]来指出,这是因为Linux支持多处理系统,系统内可能存在多个同时运行的程序。Linux系统的PCB包括很多参数,每.原创 2020-10-24 15:58:00 · 513 阅读 · 0 评论 -
linux进程4.进程结构
Linux系统是一个多进程的系统,它的进程之间具有并行性、互不干扰等特点。也就是说,每个进程都是一个独立的运行单位,拥有各自的权利和责任。其中,各个进程都运行在独立的虚拟地址空间。因此,即使一个进程发生异常,它也不会影响到系统中的其他进程。Linux中的进程包含3个段,分别为“数据段”、“代码段”、“堆栈段”。(1)数据段:存放的是全局变量、常数以及动态数据分配的数据空间。根据存放的数据,数据段又可以分为普通数据段(包括可读可写/只读数据段,存放静态初始化的全局变量或常量)、BSS数据段(存放未..原创 2020-10-24 14:41:26 · 130 阅读 · 0 评论 -
linux进程3.进程的三态
01 三种基本状态进程在运行中不断改变其运行状态,通常,一个进程运行必须具有一下三种基本状态:就绪状态:若进程已被分配到所有必要的资源(除CPU),只要获得处理器便可立即执行;就绪进程可以按多个优先级来划分队列。例如,当一个进程由于时间片用完而进入就绪状态时,排入低优先级队列;当进程由I/O操作完成而进入就绪状态时,排入高优先级队列。执行状态:当一个进程在处理机上运行时,则称该进程处于运行状态。阻塞状态:也称为等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停原创 2020-10-24 11:32:56 · 1050 阅读 · 0 评论 -
Linux进程2.进程管理(ps、pgrep、kill、nice)
Linux进程的管理,是通过进程管理工具实现的,如:ps、kill和grep等。01 监视进程的工具:ps-a:显示当前终端运行的的所有进程信息-u:以用户的信息显示进程-x:显示后台运行进程的参数l:长格式输出j:用任务格式来显示进程f:用树状格式来显示进程r:显示运行中的进程ps -aux:查看所有的进程(常用组合)ps -aux | grep:查看并筛选进程例如 ps -aux|grep java 查看和java有关的进程其中:原创 2020-10-24 10:17:10 · 492 阅读 · 0 评论 -
Linux进程1.概念
01 进程linux是如何实现多个进程同时执行的呢?linux使用了一种叫做“进程调度”的手段:首先,为每个进程指派一定的运行时间(这个时间通常很短,短到以毫秒为单位),然后依照某种规则,从众多进程中挑选一个投入运行,其它的进程暂时等待,当正在运行的那个进程时间耗尽,或执行完毕退出,或某种原因暂停,linux会重新进行调度,挑选下一个进程投入运行。因为每个进程占用的时间片很短,所以就好像多个进程同时运行一样。每个进程在创建时都会被分配一个数据结构,称为进程控制块(Process Control原创 2020-10-23 22:00:12 · 102 阅读 · 0 评论 -
Linux中Could not get lock /var/lib/apt/lists的解决方法
1.刚安装ubuntu时更新出现问题,如图:Could not get lock /var/lib/apt/lists -open是因为apt还在运行,apt是linux中一款安装包管理工具;解决方法:1)杀死所有apt进程首先使用ps命令查看所有的apt进程,然后使用kill命令杀死相关进程;一般到这儿就可以了,先试试看能不能更新;如果还不能,是因为上次没有正常关闭导致的,可以将lock删掉即可,如下2)转载:https://www.cnblogs.com/yun6853992/p/9原创 2020-10-17 22:40:51 · 4171 阅读 · 2 评论