一、程序和进程的关系
二、 Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
(1).linux上进程有5种状态:
1. 运行(正在运行或在运行队列中等待)
2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
(2)ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
(3)命令参数:
l 长格式输出;
u 按用户名和启动时间的顺序来显示进程;
j 用任务格式来显示进程;
f 用树形格式来显示进程;
a 显示所有用户的所有进程(包括其它用户)。显示所有进程
-a 显示同一终端下的所有程序
x 显示无控制终端的进程;
r 显示运行中的进程;
ww 避免详细参数被截断;
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的进程
-e 显示所有进程,环境变量
-f 全格式
-h 不显示标题
-l 长格式
-w 宽输出
a 显示终端上地所有进程,包括其他用户地进程
r 只显示正在运行地进程
例1:将目前属于您自己这次登入的 PID 与相关信息列示出来
各相关信息的意义为:
F 代表这个程序的旗标 (flag), 4 代表使用者为 superuser;
S 代表这个程序的状态 (STAT);
UID 代表执行者身份
PID 进程的ID号!底下的 PPID 则父进程的ID;
C CPU 使用的资源百分比
PRI指进程的执行优先权(Priority的简写),其值越小越早被执行;
NI 这个进程的nice值,其表示进程可被执行的优先级的修正数值。
ADDR 这个是内核函数,指出该程序在内存的那个部分。如果是个执行 的程序,一般就是『 - 』
SZ 使用掉的内存大小;
WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作;
TTY 登入者的终端机位置啰;
TIME 使用掉的 CPU 时间。
CMD 所下达的指令名称
例2:列出目前所有的正在内存当中的程序
USER: 进程所有者
PID: 进程ID
%CPU: 占用的 CPU 使用率
%MEM: 占用的内存使用率
VSZ: 占用的虚拟内存大小
RSS: 占用的内存大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 进程状态:
START: 启动进程的时间;
TIME: 进程消耗CPU的时间;
COMMAND:命令的名称和参数;
(3)ps -ef
(2)top:查看动态的进程
m 切换显示内存信息。
M 根据驻留内存大小进行排序。
c 切换显示命令名称和完整命令行。
P 根据CPU使用百分比大小进行排序
N 根据启动时间排序
T 根据时间/累计时间进行排序
c 如果要查看正在运行的进程的绝对路径,请在top命令运行时按c键
-u 显示用户的进程
h 看帮助
q 退出
z 在top命令运行时按z键时,当前活动的进程将以彩色显示,
k 在top命令运行时按k键。提示将询问您要杀死的PID。通过从列表中查看所需的进程ID,然后按Enter键输入。该过程和相应的应用程序几乎会立即关闭。
(3)pgrep 根据特定条件查询
pgrep -l ‘log’
-o:仅显示找到的最小(起始)进程号;
-n:仅显示找到的最大(结束)进程号;
-l:显示进程名称;
-P:指定父进程号;
-g:指定进程组;
-t:指定开启进程的终端;
-u:指定进程的有效用户ID。
(4)pstree 以树的形式显示.
a:显示完整信息
u:显示用户名
p:显示进程号
n 输出按进程号排序
三、进程的前台和后台
终止进程:ctrl + c
kill:杀PID
killall :杀程序名,-9 强制杀死
pkill :根据条件杀死进程
-u 用户名 杀死指定用户所运行的所有进程
-U 真正发起运行命令者
-t 与指定终端相关的进程
-l 显示进程名(pgrep可用)
-a 显示完整格式的进程名(pgrep可用)
-P 显示指定进程的子进程
pkill -t pts/1 杀死指定终端上运行的所有进程
四、计划任务
at 09:53 2019-09-10
at> init 6
查看当前未执行的任务:atq
删除任务:atrm 1