一.进程的含义
进程:一段内存空间中的运行的一个或多个线程,它是用户的代理。
可以通过ls /proc 查看当前系统的进程,如果要进一步了解某一进程的详细信息cd /proc/PID 然后ls查看.
我们还可以通过pstree查看所有进程之间的树形关系。
二。进程数据的结构
1. PID:进程号,是1-32767的数。
2. PID 1是init的进程号,init是所有其他进程的父进程,系统启用时首先调用的就是init,在通过init调用其他的进程
3. 进程分为:用户进程和守护进程。
用户进程--->terminal ---->shell
守护进程---->daemon--->shell
三。查看进程信息常用命令
1。ps
ps风格有(1)UNIX (2)BSD (3)GNU
BSD风格:
所有选项都不需要加横线。
a: 跟终端相关的所有进程(即用户进程)。
x:跟终端不相关的所有进程(即守护进程)。
u:以用户为导向显示ps信息,即用户相关的信息。
例如:
USER:属主,即进程的发起者。
PID:进程号。
%CPU:此进程获得的cpu时间和cpu总时间的比。
%MEN:此进程获得的内存占整个物理内存的%。
VSZ:占用虚拟内存的大小(k)。
RSS:占用非虚拟内存的大小(k)。
TTY:登陆端。 ?:守护进程。
STAT:进程状态。选项有:D,R,S,T,W,X,Z.
D:不可中断的睡眠。
R:正在运行或等待运行。
S:可中断的睡眠。
T:进程停止。
X:死掉的进程。
Z: 僵尸进程。
附加修饰选项:
<:高优先级的进程。
N:低优先级的进程。
L:有些页面被锁定 在内存里。
s:回话头
l:多线程的.
+:在前台运行的
euser:此程序一谁的权限运行的。
ruser:此进程的发起人。
ATART:此进程发起的时间。
TIME:累积获得
cpu时间。
COMMAND: 哪一个命令发起的进程。
o:用户指定格式,可以指定显示进程信息中的某一段。
例如:
2.ps 的-e -f选项
-e:显示所有进程,相当于ax
-F:额外的完全格式的进程。
-f:完整格式的所有信息。
-l:长格式的信息。
-L:线程信息
例如:以完整格式显示进程信息
UID:当前进程的属主。
PID:进程号。
PPID:父进程号。
STIME:进程启用时间。
TTY:登陆终端,?:守护进程。
TIME:累积占用cpu时间。
CMD:那个命令发起的进程。
例如:查找于x server相关的进程信息
注:选行用grep,选列用o选项
3.pgrep
以支持正则表达式的方式来实现进程写去的。
-U:某个用户启动的线程。
例如:
显示关于root用户的所有进程号。
-G;有关某一组的进程信息。
-l
例如:显示行中pid或commend中包含了1的进程行
-v:取反。
例如:显示非root用户的进程PID。
4.pidof sshd =ps axo pid,command |grep ssh
选择某一进程(ssh)的进程号
5.kill
kill –l 进程信息列表
kill –9 立刻终止
kill –15 保存后终止
killall –U uid 关闭某一主的所有进程
killall -G gid 关闭某一组的所有进程
pkill –U uid -G gid
6。top
动态显示进程(q退出)
us:用户 sy:系统 ni:优先级改动 id : 空闲
wa:等待时长(硬盘---缓存)
hi:硬链接
ri:软连接
st:被虚拟机用走的时间
huffer:缓冲
cashed:缓存
7.top
top –b 自动一次刷一屏
-n:指定批次
top –b –n 2
-d:指定延迟多长时间刷一次
8.jobs
查看后台
Ctrl +z送往后台并停止
fg %n:将后台的n调往前台
bg%n:后台停止的作业后台运行
9。at
写完后用Ctrl+d 提交
at –l :查看计划列表=atq
at –d n =atrm:取消第n个作业
at –f +文件+时间
例如:at /root/at.text 04:00
10.crond
/etc/crontab :存放着系统的周期作业
crontab –e :查看
作业结构:min hour day month weekday command
*:通配
,:同一位给两值是分割用
*?/:每什么
crontab –u 用户 –e :提别的用户建作业
crontab –U 用户 –l :查看某一用户的作业
11,。anacron
系统启动后自动查看cron有无没做的作业,如果有,现在执行作业
默认是它并不开机启用此服务