进程的概念和管理
基本概念
1、在linux中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号。
2、每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如WWW服务器。
3、每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
4、一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才会结束。
进程就是正在执行的程序
线程(1)轻量级的进程
(2)进程有独立的地址空间,线程没有
(3)线程不能独立存在,它是由进程创建的。(在linux下是fork,在java下是Thread)
(4)相对来讲,线程耗费的CPU和内存小于进程。
静态显示系统执行的进程
ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数
显示详细的进程信息
1、 ps -a :意思是说显示当前终端的所有进程信息。
2、以用户的格式显示进程信息。
ps -u :以用户的格式显示进程信息。
3、显示后台进程运行参数:
ps -x :显示后台进程运行的参数。
4、可以使用ps -aux 显示全面的进程信息。
PS:显示的信息选项
字段 说明
PID 进程识别号
TTY 终端机号
TIME 此进程所消CPU的时间
CMD 正在执行的命令或进程名
终止进程kill/killall
若是某个进程执行一半需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。
终止某个进程:kill 进程号
kill 16251 :表示终止进程号为16251的进程。
kill -9 16251 :因为有些进程会捕捉某些信号。如果直接不能结束进程可以用“-9”传送信息。
killall可以清除进程及进程相关的子进程
动态监控进程top 退出top按q键或ctrl+c键即可退出
top与ps命令很相似。它们都用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程。
1、监视特定用户
top :输入此命令,按回车键,查看执行的进程。
u :然后输入"u"回车,再输入用户名,即可。
2、终止指定的进程
top :输入此命令,按回车键,查看执行的进程。
k :然后输入"k"回车,再输入要结束的进程ID号。
3、指定系统状态更新的时间
top -d 10 :指定系统更新进程的时间为10秒。
14:06:22 up系统时间
4 min, 系统启动多久
1 user, 当前登陆到linux有多少用户
load avcragc: 0.02, 0.12, 0.07负载平衡,当前系统的负载情况(可全加除3大
于0.6表示系统负载紧张)
37 processes:当前进程数
36 sleeping, 休眠状态进程数
1 running, 正在运行进程数
0 zombie,僵尸进程数 进程无用后仍占用内存的进程数
0 stopped处于停止状态的进程数
CPU states: 0.0% user 0.1% system 0.0% nice 0.0% iowait 99.8% idle
CPU的状态 idle为CPU闲置状态(越大越好)
Men: 255264k av, 39420k used, 215836k free, 0k shrd, 5520k buff
30632k actv, 140k in_d, 292k in_c
内存使用情况
255264k av,内存总数量
39420k used,正在使用内存数量
215836k free,空闲内存数量
Swap: 257032k av, 0k used, 257032k free 19376k cached
swap分区(虚拟内存)使用情况
swap: 257032k av,swap分区(虚拟内存)数量
0k used, 正在使用虚拟内存数量
257032k free空闲虚拟内存数量
19376k cached缓存内存
可用此命令进行释放echo 3 > /proc/sys/vm/drop_caches 一般不刻意去释放。