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 ...
随机推荐
- c js 字符串反转
1.例如:输入 i am a student 输出 student a am i #include <stdio.h> #include <string.h> v ...
- ubuntu与windows相关配置内容
安装.配置.启动FTP服务 执行以下命令安装,安装后即会自动运行: sudo apt-get install vsftpd 修改vcftpd的配置文件/etc/vsftpd.conf,将下面几行前面的 ...
- [项目分享]JSP+Servlet+JDBC实现的学生信息管理系统
本文存在视频版本,请知悉 项目简介 项目来源于:https://gitee.com/liu_xu111/JavaWeb01 这次分享一个学生管理系统,我感觉这是程序员在大学时期的毕设和课程设计选择最多 ...
- Codeforces Round #369 (Div. 2)E
ZS and The Birthday Paradox 题目:一年有2^n天,有k个人,他们的生日有冲突的概率是多少?答案用最简分数表示,分子分母对1e6+3取模.1 ≤ n ≤ 10^18, 2 ≤ ...
- 快速排序--15--快排--LeetCode排序数组
排序数组 给定一个整数数组 nums,将该数组升序排列. 示例 1: 输入:[5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:[5,1,1,2,0,0] 输出:[0,0,1,1,2,5] ...
- mysql查询性能问题,加了order by速度慢了
关于order by的查询优化可以看一下: MySQL ORDER BY/LIMIT performance: late row lookups 主要介绍了两个方法: 第一个是FORCE INDEX ...
- hdu1175 连连看(bfs疯狂MLE和T,遂考虑dfs+剪枝)
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1175/ 题目大意就是给出地图,上面有若干的数,相当于连连看,给了q个查询,问给出的两个位置的数能否在两次转弯以内 ...
- hdu2612 又是迷宫系列
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/2612/ 题意:有两个人在地图上不同的位置,地图上由若干个餐厅,求两人能同时到达一个餐厅所用最少的总时间. 代码如 ...
- Python 趣题
如何优雅判断list为空 list_temp = [] if list_temp: # 存在值即为真 else: # list_temp是空的 在Python中,False,0,'',[],{},() ...
- 寻找一把进入 Alibaba Sentinel 的钥匙(文末附流程图)
经过前面几篇文章的铺垫,我们正式来探讨 Sentinel 的 entry 方法的实现流程.即探究进入 Alibaba Sentinel 核心的一把钥匙. @ 目录 1.SphU.entry 流程分析 ...