进程和程序的区别
1.程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。
2.程序和进程无一一对应关系。一个进程可以由多个进程共用;另一方面,一个进程在活动中可顺序地执行若干个程序。
父进程与子进程
1.子进程是由一个进程索产生的进程,产生这个子进程的进程称为父进程。
2.在Linux系统中,使用系统调研fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。
3.父进程终止子进程自然终止。
查看用户信息w
w显示信息的含义:
JCPU:以终端代号来区分,该终端所有相关的进程执行时,所消耗的CPU时间会 显示在这里。
PCPU:CPU执行程序耗费的时间
WHAT:用户正在执行的操作
load average:分别显示系统在过去1、5、15分钟内的平均负载程度。
FROM:显示用户从何处登录系统,“:0”的显示代表该用户时从X Window下, 打开文件模式窗口登录的
IDLE:用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便 会被重置。
查看个别用户信息:w用户名
查看系统中的进程ps
常用选项
a 显示所有用户的进程
u 显示用户名和启动时间
x 显示没有控制终端的进程
e 显示所有进程,包括没有控制终端的进程
l 长格式显示
w 宽行显示,可以使用多个w 进行加宽显示
ps常用输出信息的含义
PID 进程号
PPID 父进程的进程号
TTY 进程启动的终端
STAT 进程当前状态
S 休眠状态 D 不可中断的休眠状态 R运行状态 Z 僵死状态 T停止
NI 进程优先级
TIME 进程自从启动以来启用CPU的总时间
COMMAND/CMD 进程的命令名
USER 用户名
%CPU 占用CPU时间和总时间的百分比
%MEM 占用内存与系统内存总量的百分比
ps应用实例
#ps 查看隶属于自己的进程
#ps -u or -l 产看隶属于自己进程详细信息
#ps -le or -aux 查看所有用户执行的进程详细信息
#ps -aux --sort pid 可按进程执行的时间、PID、UID等对进程进行排序
#ps -aux | grep sam
#ps -uU sam 查看系统中指定用户执行的进程
#ps -le | grep init 查看指定进程信息
Kill --关闭进程
关闭进程:kill 进程号
kill -9 进程号: 强行关闭
kill -l 进程号 :重启进程
xkill 关闭图形程序
killall 结束所有进程
pgrep 服务名称 :查找服务进程号
pkill 进程名称 :关闭进程
nice和renice
nice
指定程序的运行优先级
格式:nice -n command
例如:nice -5 myprogram
renice
改变一个正在运行的进程的优先级
格式:renice n pid
例如:renice -5 777
优先级取值范围(-20,19)
nohup
使进程在用户退出登录后依旧继续执行,nohup命令将执行后的数据信息和错误信息默认存储到文件nohup.outzhong。
格式:nohup program &
进程的挂起和恢复
进程的中止(挂起)和终止
挂起 Ctrl+Z
终止 Ctrl+C
进程的恢复
恢复到前台继续运行(fg)
附会到后台继续执行(bg)
查看被挂起的进程(jobs)
top
作用:进程状态显示和进程控制,每5秒自动刷新一次(动态显示)。
常用选项:
d:指定刷新的时间间隔
c:显示整个命令行而不仅仅显示命令名
u:查看指定用户的进程
k:终止执行中的进程
h or ?:获得帮助
r:重新设置进程优先级
s:改变刷新的时间间隔
W:将当前设置写入~/.toprc文件中
计划任务
为什么要设置计划任务
计划任务的命令
at 安排作业在某一时刻执行一次
batch安排作业在系统负载不重时执行一次
cron 安排周期性运行的作业