12-1-系统状态检测进程控制

来源:互联网 发布:mac万得股票机构 编辑:程序博客网 时间:2024/06/03 15:51

一.查看文件状态

1.df 显示磁盘用量

例子: df -h(human 以人类可读方式显示磁盘用量)


2.du 计算目录下文件占用磁盘的大小

例子: du aaa.tar.gz  查看文件真实大小
du -s Desktop/ 查看文件夹真实大小
du -sh Desktop/ 以人类可读方式查看文件夹真实大小


3.free 查看内存的大小,有没有剩余

例子: free

4./proc文件系统 查看内核参数



5.系统日志

常见系统日志放在var/log/目录下


二.进程相关

进程的状态: 

S -- sleeping
T -- stop
R -- running
D -- deepsleeping深度睡眠,一般为正在读写硬盘的进程
Z -- 僵尸进程,进程失去控制
< -- 高优先级进程
N -- 低优先级进程


1.top命令 能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

top显示
PID(进程ID) user(进程拥有者) pr(优先级) ni virt(占用虚拟内存大小) res(占用实际内存大小) shr(共享内存大小) s(状态) %cpu(占用cpu大小) %mem(占用内存百分比) time+ command(执行了什么命令)
top是交互式命令 
输入M 按内存大小排序 
输入k再输入进程id,可以结束某个进程 默认发15号信号如不响应就发第9号信号强制杀掉该进程
输入q 退出
输入? 看帮助
输入>和< 来回翻页
输入r 把进程优先级调高或调低,输入进程号,输入优先级。


2.kill命令家族 专门给进程发信号

例子:
kill -l 可以看kill命令能发哪些信号
kill pid 默认发15号信号结束某pid进程
kill -9 pid 发9号信号强制结束某pid进程


killall httpd 干掉所有名字叫httpd的进程
killall -9 httpd 强制干掉所有名字叫httpd的进程


skill shrek 干掉用户shrek下的所有进程
skill -9 shrek 强制干掉用户shrek下的所有进程
skill -9 pts/2 强制干掉控制台pts/2下的所有进程


pkill -u shrek 更精确的指定干掉用户shrek下的所有进程


3.ps命令 显示目前系统运行的各个进程

例子:
ps 显示当前登陆用户下运行的进程
ps aux 显示所有控制台和后台的进程
ps auxf 显示所有控制台和后台的进程和父子关系(进程id叫PID,该进程的父进程id叫PPID,所有进程的父进程为init)

ps -ef 也是显示所有控制台和后台的进程,只是显示的列数和ps aux有差别。(unix系统常用) 


4.pstree命令 以树形的方式显示所有父子进程.



5.进程的优先级(哪个进程能更优先抢到CPU)

反映在top命令里面的ni值,范围 -20(优先级最高)到19(优先级最低)


6.进程的前台后台

在命令后面加&符号,可丢到后台.
例子:
ls -l & 丢到后台
ls -l   前台运行


输入jobs命令,可以查看系统所有后台任务,任务有任务ID.
kill %2 杀掉2号任务
fg %3 把第3号任务拿到前台运行起来
命令耗时较长可以CTRL+Z将命令暂停并丢在后台,
bg %3 把第3号任务拿到后台运行起来


nohup updatedb & 
将updatedb命令丢到后台运行,即使退出控制台(shell退出后)该进程也仍然运行.
实际上这时updatedb已不是控制台的子进程而是init的子进程了,作为系统进程。