进程查看管理

进程状态
1. Linux进程状态:R (TASK_RUNNING),可执行状态&运行状态(在run_queue队列里的状态)


2. Linux进程状态:S (TASK_INTERRUPTIBLE),可中断的睡眠状态, 可处理signal


3. Linux进程状态:D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态, 可处理signal, 有延迟


4. Linux进程状态:T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态, 不可处理signal, 因为根本没有时间片运行代码


5. Linux进程状态:Z (TASK_DEAD - EXIT_ZOMBIE),退出状态,进程成为僵尸进程。不可被kill, 即不响应任务信号, 无法用SIGKILL杀死




程序:通常为二进制程序放置在存储媒介中(如硬盘、光盘、软盘、磁带),以物理文件的形式存在
进程:程序被触发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载到内存中,操作系统并
给予这个内存单元一个标识符(PID)。


当系统不稳定的时候就容易造成所谓的僵尸进程,可能是因为程序写的不好,或者是用户操作不当,出现僵尸进程
不是只是将他杀掉而已,是要做跟踪,找出该进程的父进程,pstree是个好方法,事实上僵尸进程通常无法掌控,而是直
接交给init这个程序负责,init是所有进程的父进程,如果杀掉他,系统就死了,如果僵尸进程产生,没有办法通过内核
非经常性的特殊处理来将改进程删除时,那就只好通过reboot抹去该进程。


图形界面中查看进程
gnome-system-monitor


用命令查看进程
ps                          进程查看工具
-A 所有的进程均需显示出来,与-e具有同样的作用
-a  不与terminal有关的所有进程
-u 查看进程用户
-l 显示进程的详细信息
-f 完全信息full的缩写
-e 显示系统中的所有进程
x 通常与a这个参数一起使用 ,可列出完整的信息


ps  -aux|grep 进程关键字
ps ax -oe %cpu,%mem,user,pid,comm 查看进程的某项信息
ps aux --sort +|-(倒序或逆序)%cpu|%mem


ps ax --sort -%cpu -o pid|grep PDI -v |head -5 显示cpu占用前5名


USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  52840  4668 ?        Ss   08:58   0:02 /usr/lib/system
root         2  0.0  0.0      0     0 ?        S    08:58   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    08:58   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   08:58   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    08:58   0:00 [migration/0]
root         8  0.0  0.0      0     0 ?        S    08:58   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        S    08:58   0:00 [rcuob/0]
root        10  0.0  0.0      0     0 ?        S    08:58   0:00 [rcuob/1]
root        11  0.0  0.0      0     0 ?        S    08:58   0:00 [rcuob/2]


VSZ :进程使用掉的虚拟内存量(KB)
RSS :进程占用的固定的内存量(KB)
START:该进程被触发启动的时间
TIME:该进程实际使用cpu进程的时间



top 动态查看进程的变化
-d 后面可以接秒数,就是整个进程界面更新的秒数。默认是5秒
-n 进行几次top输出
-b 与n配合使用数据流文件重定向


在top执行过程中可以使用的按键命令:
?: 显示在top当中可以输入的按键命令
p:以cpu使用资源排序显示
m:以内存使用资源排序显示
n:以pid排序
t:由该进程使用的cpu时间信号(TIME+)排序
k:给予某个pid一个信号(signal)
r:给某个pid重新指定一个nice值
q:离开top界面


PR:Priority的简写,进程的优先顺序,越小越早被执行
NI:Nice的简写,与Priority有关,也是越小越早被执行
PRI(new)=PRI(old)+NI,PRI不能直接修改,通过修改NI,来修改PRI


pstree 显示进程之间的相关性
参数: -A各进程树之间的连接以ascall字符来连接
-U各进程树之间的连接以utf8码的字符来连接,在某些终端接口下可能会有错
-p同时列出每个进程的PID
-u同时列出每个进程的所属账户名称




进程管理,通过给予进程一个信号,来操作进程
kill 信号 pid
killall 信号 进程名称
pkill -u username ##结束某个用户的所有进程

信号 1 ##reload进程(在不关闭进程重起的情况下)
信号 2 ##ctrl +c 删除进程在内存中的信息 
信号 3 ##内存中的鼠标信息清除
信号 9 ##强行关闭进程
信号 15 ##正常关闭进程
信号 18 ##开启shell后台停止的进程(T-->S)
信号 19 ##停止shell后台正在运行的进程(S-->T)
信号 20 ##相当于ctrl +z




用户登陆监控


w ##查看当前使用系统的用户
w -f ##查看当前使用系统的用户并显示使用地点


last ##查看登陆过系统的用户
lastb ##查看试图登陆但没有成功的用户


如何控制shell进程的前后台调用

命令 & ##进程在shell后台,运行(running)
ctrl +z ##把占用shell的进程打入后台,停止(stopped)
jobs ##查看被打入后台的进程信息(running相当于S、R,stopped相当于T)
fg %job号 ##把指定进程调回前台
bg %job号 ##运行shell后台停止进程 
ctrl +c ##关闭占用shell前台进程


脱机管理问题
注意以上说的后台指的是在终端机模式下可以避免ctrl+c中段的一个情境,并不是放到系统后台,
工作管理的后台依旧与终端机有关。
at是将工作放置到系统后台,而与终端机无关。
nohup可以在脱机或注销之后,还能让工作继续进行
nohup [命令与参数] (在终端机的前台中工作)
nohup [命令与参数] & (在终端机的后台工作)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值