文档介绍:Linux 系统应用与程序设计
主讲:邝颖杰
电邮:kuangyingjie@
进程的概念
Linux系统上所有运行的东西都可以称之为一个进程。每个用户任务、每个系统管理任务,都可以称之为进程。进程是一个程序的运行。
进程与程序是有区别的。程序只是一个静态的指令集合,不占系统的运行资源;而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序。一个程序可以启动多个进程。
进程的概念
Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性:
交互进程:由shell启动的进程。
批处理进程:这种进程和终端没有联系,是一个进程序列。
守护进程:在后台持续运行的进程。
启动进程/手工启动
前台启动:一般地,用户键入一个命令,就已经启动了一个前台的进程。
后台启动:对于非常耗时进程,可以让进程在后台运行。从后台启动进程其实就是在命令结尾加上一个“&”号
启动进程/调度启动
1)at命令
在shell提示符下输入”at 时间”,然后按回车键。这时在下一行shell会等待用户继续输入要执行的命令。每一行输入一个命令,所有命令都输入完毕后按Ctrl+d键结束。
将各个命令写入shell脚本中,然后使用下面格式设置在指定时间执行shell脚本中的命令:
at 时间–f 脚本文件。
batch命令
启动进程/调度启动/cron命令
cron命令在系统启动时由一个shell脚本自动启动,进入后台。
cron启动后搜索/var/spool/cron目录,寻找以/etc/passwd文件中的用户名命名的crontab文件,被找到的这种文件将载入内存。
如果没有crontab文件,就转入“休眠”状态,释放系统资源。
cron每分钟“醒”过来一次,查看当前是否有需要运行的命令。
如果发现某个用户设置了crontab文件,它将以该用户的身份去运行文件中指定的命令。命令执行结束后,任何输出都将作为邮件发送给crontab的所有者,或者/etc/crontab文件中MAILTO环境变量中指定的用户。
cron
crontab文件格式
59 23 * * * tar czvf /home/lhy
crontab命令用于安装、删除或者列出用于驱动cron后台进程的crontab文件:
crontab源文件格式
<minute> <hour> <day-of-month> <month-of-year> <day-of-week> <commands>
59 23 * * * tar czvf /home/lhy
格式crontab [ -u user ] 文件crontab [ -u user ] { -l | -r | -e }
主要参数-e:执行文字编辑器来设定时程表,内定的文字编辑器是vi-r:删除目前的时程表-l:列出目前的时程表
和at命令相比,crontab命令适合完成固定周期的任务
Crontab举例
以某一用户终端,输入crontab -e此时系统会打开一个vi编辑器
在该编辑器中输入35 17 * * 5 wall "Tomorrow is Saturday I will go CS"
进程管理命令
进程查看命令 ps
ps [选项]
主要选项的含义如下:
-e:显示所有进程;
-h:不显示标题;
-l:采用详细的格式来显示进程;
-a:显示所有终端上的进程,包括其他用户的进程;
-r:只显示当前终端上正在运行的进程;
-x:显示所有进程,不以终端来区分;
-u:以用户为主的格式来显示进程;