linux进程管理

一.基本介绍

1.在 LINUX 中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个 ID 号
2.每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程
3.每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行
4.一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束

二.查看进程

查看进行使用的指令是 ps ,一般来说使用的参数是 ps -aux,ps -ef,正常与grep连用

linux进程管理_第1张图片

linux进程管理_第2张图片

查看进程树
pstree [选项]
    -p    查看进程pid
    -u    查看进程所属用户

三.结束进程

kill 进程号     #停止进程
kill-9 进程号   #强迫进程立即停止
killall 进程名称 #停止所有相同的进程名称

四.ps指令详解

BSD风格 详解

user            用户名称
pid             进程号
%cpu            进程占用cpu百分比
%%mem           进程占用物理内存的百分比
vsz             进程占用虚拟内存的大小
rss             进程占用物理内存的大小
tty             终端名称(后台则为?)
stat            进程状态
    S:睡眠
    s:会话的先导进程
    N:进程拥有比普通优先级更低的优先级
    R:正在运行
    D:短期等待
    Z:僵尸进程
    T:被跟踪或者被停止
start           进程启动时间
time            使用cpu总时间
command         启动进程所用的命令和参数,如果过长会被截断显示

system V 风格详解

uid             用户id
pid             进程id
ppid            父进程id
C               进程占cpu百分比
stime           进程启动时间
tty             终端名称(后台则为?)
cmd             启动进程所用的命令和参数

五.动态监控进程

top与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于top 在执行一段时间可以更新正在运行的的进程

top [选项]
    -d          指定每隔几秒更新,默认3秒
    -i          不显示任何闲置或者僵尸进程
    -p id号      监听指定进程


交互操作:
P       以cpu使用率排序,默认就这个
M       以内存使用率排序
N       以pid排序
u       监听具体用户
k       终止指定进程
q       退出top

六.例子

1.踢掉某个非法登录用户

ps -ef | grep ssh
kill 非法登录用户的进程id

2.终止远程登录服务

kill sshd的进程id

sshd, 在适当时候再次重启sshd 服务

service sshd start

3.终止多个 gedit 编辑器 【killall, 通过进程名称来终止进程】

killall gedit

4.强制杀掉一个终端

查看终端id
ps -ef | grep bash
kill -9 终端id      # -9为强杀

七.查看进程树 pstree

pstree [选项]
    -p    查看进程pid
    -u    查看进程所属用户

你可能感兴趣的:(linux进程管理)