Linux 进程管理经常使用命令总结

前言

面试说本身平时在 Linux 系统进行开发,了解一些 Linux 经常使用命令,而后就开始问,可是不会问经常使用的一些简单命令,都是结合应用场景来进行提问。并且基本上是和进程管理结合的。抽时间进行一个全面的总结面试

应用场景

主要就是若是你使用 Linux 操做系统,那么服务器若是是个很忙碌的系统,你确定要知道如何定位最耗资源的那个进程,而后可以将其杀死;此外,若是某个程序产生了一个有问题的进程在内存中,你又该如何找出并将其删除;若是有五六项工做在系统中运行,但其中有一项工做才是最重要的,你怎么定位并使其优先执行?bash

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

命令介绍

1. ps

指将某个时间点的进程运行状况选取下来服务器

ps -ef |grep ^    列出须要进程 
ps -aux   显示进程信息,包括无终端的(x)和针对用户(u)的进程

-e 显示全部进程。 
-f 全格式。 
-a 显示终端上的全部进程,包括其余用户的进程。 
-r 只显示正在运行的进程。 
-u 以用户为主的格式来显示程序情况。 
-h 不显示标题。 
-l 长格式。 
-w 宽输出。
复制代码
  • ps -l 仅查看本身的 bash 相关进程
  • ps aux 查看系统全部进程
    实例:找出与 cron 与 syslog 这两个服务相关的 PID 号码
leader@leader:~$ ps aux | egrep '(cron|syslog)'
复制代码

2. pstree

  • 用于寻找进程之间的相关性
  • 查询 PID 与所属用户,加上 -p 和 -u 两个参数便可

范例一: 列出目前系统上全部进程树的相关性ui

leader@leader:/tmp$ pstree -A
复制代码

范例二:同时显示 PID 和 usersspa

leader@leader:/tmp$ pstree -Aup
复制代码

3. top

动态查看进程的变化
范例一:每两秒更新依次 top,查看总体信息操作系统

leader@leader:~$ top -d 2
复制代码

范例二:将 top 的信息进行 2 次,而后将结果写入到 /tmp/top.txtcode

leader@leader:~$ top -b -n 2 > /tmp/top.txt
复制代码

4. htop

htop 与 top 相似,可是 htop 是交互式的文本模式的进程查看器。它经过文字图形化地显示每个进程的 CPU 和内存使用量、swap 使用量。 使用上下光标键选择进程,F7 和 F8 改变优先级,F9 杀死进程进程

5. nice

用于设置和改变进程的优先级。(提升一个进程的优先级,内核会分配更多CPU时间片给这个进程。) 默认状况下,进程以 0 的优先级启动。进程优先级能够经过top命令显示的 NI(nice value)列查看。内存

进程优先级值的范围从-20到19。值越低,优先级越高。 (sudo)nice <优先值> <进程名>   经过给定的优先值启动一个程序资源

6. renice

renice命令能够改变正在运行的进程优先值,用户只能改变属于他们本身的进程的优先值。

renice -n 4 -p 3806   改变指定进程的优先值
//初始优先值为0的3806号进程优先值已经变成了 4 .
sudo renice -3 -u/-g mint   经过指定用户和组来改变进程优先值
//用户为 mint 的全部进程优先值变为 -3。
复制代码

7. kill

强制杀死进程,使用-9参数。
若是不知道进程PID(进程 ID 号)或者打算用名字杀死进程时候,使用 killall。
kill <pid>
kill -9 <pid>
killall -9  &ensp;&ensp; 杀死全部拥有一样名字的进程
若是你使用kill,你须要知道进程ID号。pkill是相似的命令,但使用模式匹配,如进程名,进程拥有者等。
复制代码

8.fg,bg

使用‘bg’命令能够将任务放在后台执行,而用‘fg’能够调到前台来使用。

咱们能够经过‘&’在后台启动一个程序: 
    find .-name *iso >/tmp/res.txt & 
正在运行的程序,能够经过“CTRL+Z”和“bg”命令组合放到后台运行。

可使用‘jobs’命令列出全部后台进程。 
使用‘fg’命令能够将后台程序调到前台执行。 
   fg  %进程id
复制代码
相关文章
相关标签/搜索