linux系统中,进程就是指正在执行的程序。执行一条命令,shell也会启动一个进程。将进程与程序分离。
1 进程的显示与删除
进程启动时,系统会分配一个唯一的数值给该进程,这个数值称为"进程ID"(Process ID)。每个进程都有一个父进程(Parent Process),而这个父进程又可以复制多个子进程,这个动作称为"Fork"。Fork在网络编程中很常见。进程的执行方式有两种:前台和后天。前台进程就是目前用户在屏幕上操作的进程,后天进程就是屏幕上看不到但实际在运作的进程。后天进程适用于执行时间长,比较复杂的进程。一般系统的服务进程都是以后台运行的方式,知道关机时结束进程,通常称之为Daemon。大多数此类的服务进程的名称后加有d。例如httpd,sshd等。
显示目前进程:
ps (Process Status)
该命令用于目前系统中有哪些进程在执行,及其运行状况。如果只执行不带任何参数的ps命令,会有4个基本数据出现。
PID(Process ID)进程标示符,凭借此数值来识别和处理此进程。
TTY(TeleTYpewriter),登陆的终端机编号。
TIME:此进程消耗的cpu时间。
CMD:正在执行的命令或进程名称。
ps -l (Long)
该命令会显示4个基本数据外,还会显示10个额外数据。
F:Flag, 进程的状态标识。
S:Status,进程状态代码。
UID:进程执行者的ID。
PPID: Parent Process ID, 父进程标识
PRI:Priority,进程的优先级
NI:nice, 进程执行优先级的nice值。
SZ:size,进程占用的内存大小,以KB为单位。
WCHAN:Waiting Channel,表示进程或系统调用等待时的地址。
ps -u (user)
该命令以用户格式显示。
%CPU:CPU使用百分比
%MEM:内存使用百分比
VSZ:虚拟内存大小
RSS:占用的物理内存大小
START:进程开始时间
显示后台进程:
ps -aux
结束进程: kill PID 如果kill不掉,可以加选项-9或 -15,还是不行就重启电脑。
先用ps命令,得到进程号PID,在用kill命令杀掉进程。
动态显示进程:top
top与ps命令,相似点就是都可显示目前运行的进程,但是top能以指定间隔动态刷新进程信息。
top -d 10 表示指定间隔时间为10秒,来刷新进程信息。
在屏幕出现进程信息后,可以通过不同键值来排序显示的信息
按 P 键,按CPU使用时间来排序
按 M 键,按内存使用量来排序
按 T 键,按执行时间来排序
按 K 键,可以杀掉某条进程。
内存状态与优先级: free
free命令会显示物理内存(MEM)和Swap(分区),Shared(共享),buffers(缓冲区),缓存空间(cached)。
free -s 10 : 带s参数的free命令,会每个10秒刷新内存状态。
进程优先级: nice、renice
可以根据需求,用nice或renice命令自行设置进程的优先级。 等级越高,cpu可供使用的时间越长。CPU等级有:-20 ~ 19
nice -level值。 或者renice -level PID。