linux之进程管理(一)
进程
定义
一个正在执行的程序
产生来源(仅针对linux中的进程)
通过fork复制一份与父进程一模一样的子进程。然后再以exec的方式执行实际需要执行的进程即
fork-and-exec
流程
从中我们可以发现,任何一个进程都是PID为1进程的子进程。也就是说,在linux环境下,进程的整体数据结构是一颗树
我们把常驻内存的进程称之为服务
多用户、多任务模式
为什么linux中每个用户登录系统的系统后取得的权限不一样呢?
其实每个用户在登录系统后会根据从/bin/bash文件结合用户的UID/GID而取得属于自己的shell(不同用户的shell PID是不同的),每个用户的环境变量以及一些私有配置文件是存放在~/.bashrc文件中的。
我们知道,当前时代的CPU主频高达nG Hz,那就意味着CPU美妙可以执行
n x 1024(M) x 1024(K) x 1024(Byte) ≈ n x 10^9
条命令
很显然,这是一个非常庞大的数字。我们学计算机操作系统时知道——当代CPU不具备并行(同一时刻同时执行N条指令)工作能力。都是并发处理事务的。所以我们眼中的多用户多任务多进程多线程实际上都只是cpu的障眼法而以,根本原因就是一个字——快。cpu通过在短时间内不停的切换任务,在我们人眼和思维中造成了同时执行的假象(正如视频的本质是图片一样)。
那么我们如何感受一下这个所谓的多用户多任务模式呢?
其实,在linux中,默认提供了7个登录窗口。可以通过
ctrl + alt + [f1~f6]
或
alt + [f1~f6]
来切换
工作管理(job control)
job control是工作于bash环境下的,也就是说,我们仅仅需要一个终端界面便可以利用job control同时处理多条指令和任务
.那么既然我们可以用多终端执行多个任务,那么为什么还需要用job control呢?其实,大家可以想一想作为普通工作人员,管理员可能给你多个账号吗?
注意事项:
前台:主窗口界面
后台:利用job control控制的其他任务
(1)job control是针对于bash的,也就是说,你不可以以user1的身份去管理user2中的job control
(2)后台程序不可以与用户有交互过程(比如vim,nano)
(3)后台程序不可以通过ctrl + c来中断
(4)可以通过bg/fg来调用它
1.如何将指定任务放在后台进行
通过在命令后面加 & 操作符
eg:
find / -name info.txt &

从图中我们可以发现该命令确实被放在后台了,那么下面的
[1] 5115
分别代表什么呢?
[1]代表工作号码
5115代表进程ID ==》 PID
2.如何处理后台任务的标准输出问题
这是什么意思?大家请看

我们发现,面对一些具有标注输出的命令,这些东西会严重阻碍我们的工作,那么如何处理这类问题呢?简单,数据流重定向
eg:
sudo find / -name info.txt > log.txt 2>&1 &

3.如何将当前工作丢到后台中去暂停?
ctrl + z
4.如何查看目前后台中运行的任务?
jobs -[lrs]
-l:
列出后台工作,并显示其进程PID
-r:
仅列出正在后台run的工作
-s:
仅列出正在后台当中暂停(stop)的工作
5.将后台工作拿到前台来处理
fg %[jobnumber]
eg:
fg &1

6.将后台暂停的工作(被ctrl + z)变成在后台执行
bg %[jobnumber]
7.管理后台的工作
kill -[信号] %作业号码
具体的信号可以使用Kill -l来查看

我们可以看出,9信号量代表着杀掉这个作业,所以可以这样写
kill -9 %1

代码中的1和2表示作业序号,具体情况依据个人查询情况而定。
还有一点需要注意的是,kill 后面可以直接跟PID,如果跟工作的话,则需要 %number 了
eg:

linux之进程管理(一)的更多相关文章
- .Neter玩转Linux系列之五:crontab使用详解和Linux的进程管理以及网络状态监控
一.crontab使用详解 概述:任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: (1)系统工作:有些重要的工作必须周而 复始地执行. (2)个别用户工作:个别用户可能希望执 行 ...
- Linux:进程管理
Linux:进程管理 进程间通信 文件和记录锁定. 为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完后再释放.这是UNIX为共享 ...
- Linux操作系统的进程管理和作业管理
Linux操作系统的进程管理和信号 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.lsof命令详解 1>.lsof概述 list open files查看当前系统文件的工 ...
- Linux操作系统的进程管理
Linux操作系统的进程管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.进程相关概念 1>.进程概述 内核的功用: 进程管理.文件系统.网络功能.内存管理.驱动程序. ...
- linux 系统管理--进程管理
目录 linux 系统管理--进程管理 一.进程基本概述 二.监控进程状态 三.进程的优先级[进阶] 四.企业案例,Linux假死是怎么回事 五.后台进程管理 六.系统平均负载[进阶] linux 系 ...
- Linux内核——进程管理与调度
进程的管理与调度 进程管理 进程描写叙述符及任务结构 进程存放在叫做任务队列(tasklist)的双向循环链表中.链表中的每一项包括一个详细进程的全部信息,类型为task_struct,称为进程描写叙 ...
- linux系统管理--进程管理
这两天一直维护公司的服务器,主要对进程管理和linux工作管理,把一些零散的知识整理一下,书归正传~ 什么进程? 以下是百度给的解释的进程,说实话,云里雾里的,其实linux进程和windows进程 ...
- 【linux之进程管理,系统监控】
一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...
- [Linux]系统管理: 进程管理(ps/top/pstree/kill/pkill), 工作管理, 系统资源查看, 系统定时任务
进程管理:查看与终止 进程查看 1. 进程是正在执行的程序或命令. 2. 进程管理的作用: 判断服务器健康状态, 查看系统中所有进程 杀死进程 3. 查看系统中所有进程 ps aux # 查看系 ...
- linux 使用进程管理工具 supervisor
1.supervisor是使用python进行开发的运行在linux服务器上的进程管理工具 老版本的supervisor需要运行在python2环境,如果需要使用supervisor管理python3 ...
随机推荐
- tempdb 日志文件增长的问题
前两天在一个客户那里发现tempdb log 文件增长很大,已经使用40GB了,而tempdb log 文件总的分配空间是70GB,并且日志空间貌似不能重用,他们使用sql 2012 打的sp4补丁, ...
- NLP(二十七)开放领域的三元组抽取的一次尝试
当我写下这篇文章的时候,我的内心是激动的,这是因为,自从去年6月份写了文章利用关系抽取构建知识图谱的一次尝试 后,我就一直在试图寻找一种在开放领域能够进行三元组抽取的办法,也有很多读者问过我这方面 ...
- Redis(十二):redis请求转发的实现
请求转发一般的原因为: 1. 该请求自身无法处理,需要转发给对应的服务器处理: 2. 为实现负载均衡,使用路由服务,选择目标实例进行转发: 在集群模式下,请求可以打到任何一台redis服务器上.然而并 ...
- CSS每日学习笔记(1)
7.30.2019 1.CSS 文本属性 属性 描述 color 设置文本颜色 direction 设置文本方向. line-height 设置行高. letter-spacing 设置字符间距. t ...
- ContOS7中使用Nginx进行TCP反向代理
一.安装Nginx 1.下载:http://nginx.org/en/download.html wget http://nginx.org/download/nginx-1.16.1.tar.gz ...
- html之样式
HTML 样式 1. font字体 font-family 字体样式 比如:微软雅黑.Serif 字体.Sans-serif 字体.Monospace 字体.Cursive 字体.Fantasy 字体 ...
- python之面向对象性封装,多态,以及鸭子类型
默认类型 class A: class_name = 'python23期' def __init__(self, name, age): self.name = name self.age =age ...
- Qt 事件使用示例 (一)
Qt 事件使用示例,以一个常见的使用来说明:QLabel 当鼠标滑过时改变颜色. 事先说明要想实现这一功能有很多种方法,如Qss实现,本文使用Qt事件的方式来实现. 第一步,我们得实现一个从QLabe ...
- Java 对象容器
一.ArrayList 容器 1.记事本 package booknote; import java.util.ArrayList; public class NoteBook { private A ...
- 一款基于SVM算法的分布式法律助手
一. 项目简介 与 使用说明 体验网站(适配手机端): http://www.zhuchangwu.com 项目基于 Spring Cloud .Vue 构建,平台针对需要维权的用户而设计,主要提供如 ...