美文网首页
linux-07-进程管理1

linux-07-进程管理1

作者: vera姐姐 | 来源:发表于2016-05-12 20:22 被阅读82次

进程管理:

Linux/Unix系统查看进程的命令ps,在终端敲ps只会显示与终端有关的进程。

ps -ef

ps -aux  Linux的命令选项,Unix不直接支持(通过新增了一个ps支持

whereis 可以查看文件/命令在哪里

whereis ps就可以看到两个ps都在哪里

分页看结果用 | more,空格/回车 翻行翻页,q 退出

一般退出都是按 q 或 esc键。

ps -ef  |more

ps -aux |more

kill -9 进程PID 可以杀死进程

进程的启动不是同时完成的,而是有先后次序,如果进程a启动了进程b,a叫做b的父进程,b叫做a的子进程。父进程可以启动多个子进程,子进程只能有一个直接的父进程。

linux系统的进程启动次序:

1.系统启动进程0,进程0 启动进程1(init进程)和进程2,(有些系统值启动进程1)然后进程0 就不再做其他事情了。

2.进程1和进程2负责启动其他的进程(直接和间接)。

进程通常情况下都处于休眠状态,进程的常见状态:

S 休眠状态 最常见的状态

R 运行状态或可运行状态

Z 僵尸进程,就是已经结束但是资源没有回收的进程

s 有子进程

< 优先级高的进程

N 优先级低的进程

系统用进程ID管理进程,每个进程的进程ID(PID)都是不能重复的,唯一代表一个进程。PID是非负整数。系统和用户有进程数量的限制。进程结束后,pid可以回收,回收的pid可以重复使用,但必须延迟重用(过一段时间才能重用)。

进程的PID可以用函数getpid()获取,函数getppid()可以获取父进程的PID。getuid()可以获取当前用户的ID。

如何创建子进程:

1 fork() 通过复制父进程自身创建子进程。

2 fork() + execl() 创建全新的子进程。

fork()是非常复杂的简单函数。

pid_t fork(void)

返回进程PID,这个函数基本都会成功,出错的可能只有系统或用户的进程已经满了。

fork()如何复制父进程的?

1.子进程会复制父进程的内存区域,除了代码区,代码区父子进程共享(内存地址也会复制,但物理内存是不同的).

2.父进程的输入/输出缓冲区的内容,子进程会复制。

3.如果父进程有文件描述符,子进程会复制文件描述符,但不复制文件表(同一个文件表,同一个偏移量)。

4.子进程会完全复制 父进程的信号处理方式

5.fork()之前只有一个父进程,fork()之后有两个进程,一父一子;因此:fork()之前的代码将会执行一次,而fork()之后的代码会执行两次,父进程,子进程分别执行一次(子进程从fork()开始执行代码的)。

6.fork()函数能创建子进程,同时会返回两次,父进程返回子进程PID,而子进程会返回0.可以通过返回值的不同让父进程和子进程分别执行不同的代码

7.fork()创建子进程后,父子进程同时运行,但谁先运行,谁先结束,都不确定

8.fork()创建子进程后,父子进程同时运行,如果子进程先结束,会给父进程发信号,让父进程回收自己的资源。如果父进程先结束,子进程变成孤儿进程,会让进程1(init)成为新的父进程。init进程也叫孤儿院。

相关文章

  • linux-07-进程管理1

    进程管理: Linux/Unix系统查看进程的命令ps,在终端敲ps只会显示与终端有关的进程。 ps -ef ps...

  • linux 下的系统调用

    一、主要有以下模块 -进程管理-内存管理-文件管理-信号处理-进程通信-网络通信 一、进程管理 1.父进程通过fo...

  • 进程管理(1)

    操作系统会在任何时候暂停或继续一个程序的运行 程序A:a,c->a.exe程序B:b,c->b.exe1)...1...

  • day20-进程管理

    《 磁盘管理 》进程管理 1.什么是进程: 例如:开发写的...

  • Linux 内存笔记基础

    系统 1. 内存管理 2. 文件目录 3. IO 4. 进程管理进程创建进程控制进程通信进程同步 5. 线程管理线...

  • 2.进程管理

    进程管理 进程是操作系统的基本概念,本节主要总结Linux内核如何管理进程:进程在内核中如何创建,消亡。 1.进程...

  • Linux进程管理 day22

    1.管理进程状态2.管理后台进程3.进程的优先级4.系统平均负载 一、管理进程状态 昨天主要学习了进程(正在运行的...

  • pm2学习笔记

    背景 1. 进程管理 进程管理主要是指创建,终止和监控进程。进程管理器主要是用来确保你的应用在启动后能够保持在线。...

  • 第二十一天

    进程管理 1.进程管理 (kill killall pkill) kill PID 正常停止一个程序 kill -...

  • Linux 之 进程管理 -- 进程管理(kill,nice,r

    1. kill在进程管理中的应用 还记得,之前在Linux 之 进程管理 -- 工作管理 (job control...

网友评论

      本文标题:linux-07-进程管理1

      本文链接:https://www.haomeiwen.com/subject/mjuprttx.html