https://www.ibm.com/developerworks/cn/linux/l-linux-process-management/index.html
Linux 进程管理剖析

进程可以是短期的(从命令行执行的一个命令),
也可以是长期的(一种网络服务)

在用户空间,进程是由进程标识符(PID)表示的。
从用户的角度来看,一个 PID 是一个数字值,可惟一标识一个进程。

在用户空间,创建进程可以采用几种方式。
可以执行一个程序(这会导致新进程的创建),
也可以在程序内,调用一个 fork 或 exec 系统调用。
fork 调用会导致创建一个子进程,
而 exec 调用则会用新程序代替当前进程上下文。

===================================
https://linux.cn/article-5557-1.html
12个进程管理命令介绍

查看所有运行中的进程
查看进程消耗资源
定位个别进程并且对其执行指定操作
改变进程的优先级
杀死指定进程
限制进程可用的系统资源等

1. ps
'ps'是Linux 中最基础的浏览系统中的进程的命令。
能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等。
ps -o pid,ppid,comm
ps -a - 列出所有运行中/激活进程
ps -ef |grep - 列出需要进程
ps -aux - 显示进程信息,包括无终端的(x)和针对用户(u)的进程:如USER, PID, %CPU, %MEM等

2. pstree
linux中,每一个进程都是由其父进程创建的。
此命令以可视化方式显示进程,通过显示进程的树状图来展示进程间关系。
如果指定了pid了,那么树的根是该pid,不然将会是init(pid: 1)。

3. top
‘top’是一个更加有用的命令,可以监视系统中不同的进程所使用的资源。
它提供实时的系统状态信息。显示进程的数据包括 PID、进程属主、优先级、%CPU、%memory等。
可以使用这些显示指示出资源使用量。

4. htop
htop与top很类似,但是htop是交互式的文本模式的进程查看器。
它通过文字图形化地显示每一个进程的CPU和内存使用量、swap使用量。
使用上下光标键选择进程,F7和F8改变优先级,F9杀死进程。
Htop不是系统默认安装的,所以需要额外安装。

5. nice
通过nice命令的帮助,用户可以设置和改变进程的优先级。
提高一个进程的优先级,内核会分配更多CPU时间片给这个进程。
默认情况下,进程以0的优先级启动。
进程优先级可以通过top命令显示的NI(nice value)列查看。
nice <优先值> <进程名> - 通过给定的优先值启动一个程序

6. renice
renice命令类似nice命令。使用这个命令可以改变正在运行的进程优先值。
注意,用户只能改变属于他们自己的进程的优先值。
renice -n -p - 改变指定进程的优先值
renice -u -g - 通过指定用户和组来改变进程优先值

7. kill
这个命令用于发送信号来结束进程。
如果一个进程没有响应杀死命令,这也许就需要强制杀死,使用-9参数来执行。
注意,使用强制杀死的时候一定要小心,因为进程没有时机清理现场,也许写入文件没有完成。
如果我们不知道进程PID或者打算用名字杀死进程时候,killall就能派上用场。
kill <pid>
kill -9 <pid>
killall -9 - 杀死所有拥有同样名字的进程
信号可以通过 kill 传递给进程,信号值以下三个比较重要。
-1 重新加载 (SIGHUP)
-9 立刻删除 (SIGKILL)
-15 正常终止(SIGTERM)

如果你使用kill,你需要知道进程ID号。
pkill是类似的命令,但使用模式匹配,如进程名,进程拥有者等。
pkill <进程名>

8. ulimit
该命令用于控制系统资源在shell和进程上的分配量。
对于系统管理员是最有用的,可以管理重度使用和存在性能问题的系统。
限制资源大小可以确保重要进程持续运行,其他进程不会占用过多资源。
ulimit -a - 显示当前用户关联的资源限制
-f - 最大文件尺寸大小
-v - 最大虚拟内存大小(KB)
-n - 增加最大文件描述符数量
-H : 改变和报告硬限制
-S : 改变和报告软限制

9. w
w 提供当前登录的用户及其正在执行的进程的信息。
显示信息头包含信息,如当前时间、系统运行时长、登录用户总数、过去的1,5,15分钟内的负载均

衡数。
基于这些用户信息,用户在终止不属于他们的进程时要小心。
who是类似命令,提供当前登录用户列表、系统启动时间、运行级别等。
whoami 命令输出当前用户ID

10. pgrep
pgrep的意思是"进程号全局正则匹配输出"。
该命令扫描当前运行进程,然后按照命令匹配条件列出匹配结果到标准输出。
对于通过名字检索进程号是很有用。
pgrep -u mint sh
这个命令将会显示用户为‘mint’和进程名为‘sh’的进程ID。

11. fg , bg
有时,命令需要很长的时间才能执行完成。
对于这种情况,我们使用‘bg’命令可以将任务放在后台执行,而用‘fg’可以调到前台来使用。
我们可以通过‘&’在后台启动一个程序:
find . -name *iso > /tmp/res.txt &
一个正在运行的程序也可以通过“CTRL+Z”和“bg”命令组合放到后台运行。
find . -name *iso > /tmp/res.txt & - 启动一个程序
ctrl+z - 挂起当前执行程序
bg - 将程序放到后台运行
我们可以使用‘jobs’命令列出所有后台进程。
jobs
使用‘fg’命令可以将后台程序调到前台执行。
fg %进程id

12. ipcs
ipcs命令报告进程间通信设施状态。(共享内存,信号量和消息队列)
用-p参数联合-m、-s或-q使用,可以获得相关的进程间通信的进程ID。
ipcs -p -m

vmstat不算是管理,但是可以使用vmstat查看进程的上下文切换

free:查看内存使用状况

https://linoxide.com/how-tos/linux-ps-command-examples/
=======================================

https://linuxtools-rst.readthedocs.io/zh_CN/latest/base/05_process_manage.html
Docs » Linux基础 » 5. 进程管理工具

=====================================
http://www.ha97.com/1036.html
Linux 进程管理详解

=========================

Linux 进程管理 笔记的更多相关文章

  1. Linux进程管理子系统分析【转】

    本文转载自:http://blog.csdn.net/coding__madman/article/details/51298732 Linux进程管理: 进程与程序: 程序:存放在磁盘上的一系列代码 ...

  2. 12个Linux进程管理命令介绍(转)

    12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国  作者:Linux [字体:大 中 小]   执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...

  3. Linux进程管理知识整理

    Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) ...

  4. Linux性能及调优指南(翻译)之Linux进程管理

    本文为IBM RedBook的Linux Performanceand Tuning Guidelines的1.1节的翻译原文地址:http://www.redbooks.ibm.com/redpap ...

  5. Linux进程管理专题

    Linux进程管理 (1)进程的诞生介绍了如何表示进程?进程的生命周期.进程的创建等等? Linux支持多种调度器(deadline/realtime/cfs/idle),其中CFS调度器最常见.Li ...

  6. [转帖]十二 个经典 Linux 进程管理命令介绍

    https://www.cnblogs.com/swordxia/p/4550825.html 接了 http referer 头 没法显示图片 可以去原始blog 里面去查看.   随笔- 109  ...

  7. Linux进程管理 (1)进程的诞生

    专题:Linux进程管理专题 目录: Linux进程管理 (1)进程的诞生 Linux进程管理 (2)CFS调度器 Linux进程管理 (3)SMP负载均衡 Linux进程管理 (4)HMP调度器 L ...

  8. Linux进程管理 (2)CFS调度器

    关键词: 目录: Linux进程管理 (1)进程的诞生 Linux进程管理 (2)CFS调度器 Linux进程管理 (3)SMP负载均衡 Linux进程管理 (4)HMP调度器 Linux进程管理 ( ...

  9. Linux进程管理 (7)实时调度

    关键词:RT.preempt_count.RT patch. 除了CFS调度器之外,还包括重要的实时调度器,有两种RR和FIFO调度策略.本章只是一个简单的介绍. 更详细的介绍参考<Linux进 ...

随机推荐

  1. java 一些容易忽视的小点-类和对象

    构造器 通过new关键字调用 构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值. 构造器是有权限的,也就是可以添加public,也可以添加 ...

  2. 给msde加装企业管理器

    -=给msde加装企业管理器=- 首先,反对所谓的绿色版,运行那是 相~~~当 不稳定,自动关闭,要你有什么用?还广告飞扬!为了调试,花了我整整一天的时间.给大家节省的时间,也为了让大家少走点弯路. ...

  3. Dell灵越 5559笔记本安装固态硬盘 BIOS设置

    固态硬盘的安装这里就不详细说明了,安装一共有两种 直接把原有的磁盘卸了,换成SSD(这种方法最简单) 另一种是把光驱卸掉,然后换上SSD(这里建议把原来的磁盘换到光驱里面,把SSD加到原来磁盘安装的位 ...

  4. 单元测试UI

    cnpm install -g --save mocha cnpm install  -g --save chai cnpm install -g --save istanbul const {sho ...

  5. Ubuntu16.04 python2.7升级python3.5

    正常情况下,你安装好ubuntu16.04版本之后,系统会自带 python2.7版本,如果需要下载新版本的python3.5,就需要进行更新.下面给出具体教程: 1.首先在ubuntu的终端tern ...

  6. struts2应用

    1.处理表单数据 GreetingAction public class GreetingAction extends ActionSupport{ private String username; ...

  7. day 29 socket 理论

    网络编程(socket,套接字)   服务端地址不变 ip + mac 标识唯一一台机器 ip +端口 标识唯一客户端应用程序 套接字: 网络编程   网络编程 一.python提供了两个级别访问的网 ...

  8. 2017年3月1日09:45:39 css选择器,session数据取不到

    昨天碰到了一个问题,通过输入指定的url进行登录在服务端将url存在session中但是登陆之后因为页面提交的登录请求是ajax请求,在后端提取session时获取不当之前存的url,老司机说不是同一 ...

  9. display_errors","On");和error_reporting 区别和联系

    ini_set("display_errors","On");和error_reporting(E_ALL);   在用php做网站开发的时候 , 为防止用户看 ...

  10. 多路复用 阻塞/非阻塞IO模型 网络IO两个阶段

    1.网络IO的两个阶段 waitdata copydata send 先经历:copydata阶段 recv 先经历:waitdata阶段 再经历 copydata阶段 2.阻塞的IO模型 之前写的都 ...