Linux进程管理
时间:2015-01-05 23:51 来源:linux.it.net.cn 作者:IT
一、进程的类型
可以将运行在Linux系统中的进程分为三种不同的类型:
交互进程:由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台 运行。
批处理进程:不与特定的终端相关联,提交到等待队列中顺序执行的进程。 守护进程:在Linux在启动时初始化,需要时运行于后台的进程。
二、进程的启动方式
手工启动
前台启动:是手工启动一个进程的最常用的方式。一般地,用户键入一个命令“ls -l”,这就已经启动了一个进程,而且是一个前台的进程。
后台启动:直接从后台手工启动一个进程用得比较少一些,除非是该进程甚为耗时, 且用户也不急着需要结果的时候。
ls –R / >list &
调度启动
调度启动方式是事先进行设置,根据用户要求让系统自行启动
三、查看系统中的进程
1、ps命令
功能:ps命令是用来显示系统瞬间的进程信息,它可以显示出在用户输入ps命令时系统的进程及进程的相关信息。
格式:ps [选项]
[root@hostpp]$ ps 显示本账号的进程
[root@hostpp]$ ps –aux 查看系统和每位用户全部进程
由于ps –aux会列出系统中正在运行的所有进程,因此不易找到特定的进程。若搭 配grep命令,则可事半功倍:[root@host pp]$ ps –aux|grep pp 查找pp的进程
Ps命令使用说明:
常用参数:
a:显示所有进程
u:显示较详细的信息
x:显示所有包含其它使用者的进程。
使用范例:
ps
ps –au
ps -aux
ps –aux | more
ps –aux | grephttpd
ps –aux >/tmp/ps.log
2、Top命令监视系统资源使用情况
每5秒钟刷新一次,动态显示
按下U键:输入用户名 查看用户进程
按下K键:输入PID 删除进程
四、控制系统中的进程
1、kill命令和killall命令
kill命令不但能杀死进程,同时也会杀死该进程的所有子进程。
kill命令的格式是:kill –signalPID
为什么要杀死进程
该进程占用了过多的CPU时间
该进程锁住了一个终端,使其他前台进程无法运行
运行时间过长,但没有预期效果
产生了过多到屏幕或磁盘文件的输出
无法正常退出
用户也可以用killall命令来杀死进程,在killall命令后面指定的是要杀死的进程的 命令名称,而不是PID
范例:kill –9927 参数-9:强制杀死
2、nice命令
nice
指定程序的运行优先级
格式:nice –n command
[root@hostroot]# nice - -5 myprogram&
在后台以-5的优先级运行myprogram
其中n是为进程运行指定的优先级,n的数值越大,进程的优先级越低.n可以取负 值让运行级提高。
3、renice命令
renice
改变一个正在运行的进程的优先级
格式:renice –n pid 是被指定的进程
[root@hostroot]# renice - -5 777
将正在运行的PID为777的进程优先级改为-5
4、在后台运行程序的&、bg命令
[root@host root]# cp –r /usr/* test&
将/usr目录下的所有子目录及文件复制到/root/test目录下的工作放到后台运行
[root@host root]# fg 放到前台并显示执行过程
按下Ctrl+z键挂起该运行程序
[root@host root]# bg 再将执行过程放到后台
[root@host root]# jobs 查看被挂起的进程
5、进程的挂起和恢复
进程的中止(挂起)和终止
挂起(Ctrl+Z)
终止(Ctrl+C)
进程的恢复
恢复到前台继续运行(fg)
恢复到后台继续运行(bg)
查看被挂起的进程(jobs)
6、自动安排进程任务
自动启动进程的几个命令
at 安排作业在某一时刻执行一次
batch 安排作业在系统负载不重时执行一次
系统负载大于1.5不运行。
cron 安排周期性运行的作业
7、at和batch
at命令用来指定在某一时刻执行命令,at命令的格式是:at [选项] 时间
at的配置文件
作用:限制哪些用户可以使用at命令
/etc/at.allow
/etc/at.deny
batch命令的用法和at类似,只是用户可以不必指定时间,batch会在系统负载小 于1.5的时候运行命令。
8、应用程序cron
Cron进程搜索crontab文件并载入内存 ( crontab文件即/etc/crontab文件和 /var/spool/cron/目录下以用户名命名的文件)
cron进程启动以后,它将首先检查是否有用户设置了crontab文件,如果没有就转 入“休眠”状态,释放系统资源
cron进程每分钟醒来一次,查看crontab文件决定当前是否有需要执行的命令。命 令执行结束后,任何输出都将作为邮件发送给crontab的所有者
crontab命令的作用及格式
作用:用于生成cron进程所需要的crontab文件
crontab的命令格式
crontab[-u user] file
crontab[-u user] {-l|-r|-e}
-l 该选项将使在标准输出上显示当前的crontab
-r 删除当前的crontab
-e 使用编辑器编辑当前的crontab文件。
当结束编辑离开时,编辑后的文件将自动安装
Crontab文件格式:
Minute Hour Day Month DayofWeek Command
字段 所代表的意义 可用范围
Minute 每小时的第几分钟运行该程序 0 ~ 59
Hour 每一天的第几小时运行该程序 0 ~23
Day 每个月的第几天运行该程序 1 ~ 31
Month 每一年的第几个月运行该程序 1 ~ 12
Dayof Week 每一周的第几天运行该程序 0~ 6
Command 指定要运行的程序 输入要执行的命令及参数
范例:
20 4 * * * program
指定每天的4点20分执行program命令
50 3 9 * * program
指定每月的9日3点50分执行program命令
1 0 8 9 * program 或
1 0 8 sep * program
指定每年的9月8日0点1分执行program命令
9、计划任务创建方法
如果需要在每周2、4、6凌晨3点使系统进入维护状态,重新启动系统,设该文件 名为/root/reboot.cron:
1.创建一个crontab
# echo “00 03 * * 2,4,6 shutdown –r +10”>/root/reboot.cron
2.使用crontab命令安装/root/reboot.cron文件
#crontab/root/reboot.cron 安装
[root@hostroot]# corntab –e
创建root用户的corn文件
5514 * * * ls /root corn内容
[pp@hostpp]$ crontab –e 创建pp用户的corn文件
3018 * * * ll /home/pp corn内容
[root@hostroot]# crontab –r 删除root的cron
(责任编辑:IT)
一、进程的类型 可以将运行在Linux系统中的进程分为三种不同的类型: 交互进程:由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台 运行。 批处理进程:不与特定的终端相关联,提交到等待队列中顺序执行的进程。 守护进程:在Linux在启动时初始化,需要时运行于后台的进程。 二、进程的启动方式 手工启动 前台启动:是手工启动一个进程的最常用的方式。一般地,用户键入一个命令“ls -l”,这就已经启动了一个进程,而且是一个前台的进程。 后台启动:直接从后台手工启动一个进程用得比较少一些,除非是该进程甚为耗时, 且用户也不急着需要结果的时候。 ls –R / >list & 调度启动 调度启动方式是事先进行设置,根据用户要求让系统自行启动 三、查看系统中的进程 1、ps命令 功能:ps命令是用来显示系统瞬间的进程信息,它可以显示出在用户输入ps命令时系统的进程及进程的相关信息。 格式:ps [选项] [root@hostpp]$ ps 显示本账号的进程 [root@hostpp]$ ps –aux 查看系统和每位用户全部进程 由于ps –aux会列出系统中正在运行的所有进程,因此不易找到特定的进程。若搭 配grep命令,则可事半功倍:[root@host pp]$ ps –aux|grep pp 查找pp的进程 Ps命令使用说明: 常用参数: a:显示所有进程 u:显示较详细的信息 x:显示所有包含其它使用者的进程。 使用范例: ps ps –au ps -aux ps –aux | more ps –aux | grephttpd ps –aux >/tmp/ps.log 2、Top命令监视系统资源使用情况 每5秒钟刷新一次,动态显示 按下U键:输入用户名 查看用户进程 按下K键:输入PID 删除进程 四、控制系统中的进程 1、kill命令和killall命令 kill命令不但能杀死进程,同时也会杀死该进程的所有子进程。 kill命令的格式是:kill –signalPID 为什么要杀死进程 该进程占用了过多的CPU时间 该进程锁住了一个终端,使其他前台进程无法运行 运行时间过长,但没有预期效果 产生了过多到屏幕或磁盘文件的输出 无法正常退出 用户也可以用killall命令来杀死进程,在killall命令后面指定的是要杀死的进程的 命令名称,而不是PID 范例:kill –9927 参数-9:强制杀死 2、nice命令 nice 指定程序的运行优先级 格式:nice –n command [root@hostroot]# nice - -5 myprogram& 在后台以-5的优先级运行myprogram 其中n是为进程运行指定的优先级,n的数值越大,进程的优先级越低.n可以取负 值让运行级提高。 3、renice命令 renice 改变一个正在运行的进程的优先级 格式:renice –n pid 是被指定的进程 [root@hostroot]# renice - -5 777 将正在运行的PID为777的进程优先级改为-5 4、在后台运行程序的&、bg命令 [root@host root]# cp –r /usr/* test& 将/usr目录下的所有子目录及文件复制到/root/test目录下的工作放到后台运行 [root@host root]# fg 放到前台并显示执行过程 按下Ctrl+z键挂起该运行程序 [root@host root]# bg 再将执行过程放到后台 [root@host root]# jobs 查看被挂起的进程 5、进程的挂起和恢复 进程的中止(挂起)和终止 挂起(Ctrl+Z) 终止(Ctrl+C) 进程的恢复 恢复到前台继续运行(fg) 恢复到后台继续运行(bg) 查看被挂起的进程(jobs) 6、自动安排进程任务 自动启动进程的几个命令 at 安排作业在某一时刻执行一次 batch 安排作业在系统负载不重时执行一次 系统负载大于1.5不运行。 cron 安排周期性运行的作业 7、at和batch at命令用来指定在某一时刻执行命令,at命令的格式是:at [选项] 时间 at的配置文件 作用:限制哪些用户可以使用at命令 /etc/at.allow /etc/at.deny batch命令的用法和at类似,只是用户可以不必指定时间,batch会在系统负载小 于1.5的时候运行命令。 8、应用程序cron Cron进程搜索crontab文件并载入内存 ( crontab文件即/etc/crontab文件和 /var/spool/cron/目录下以用户名命名的文件) cron进程启动以后,它将首先检查是否有用户设置了crontab文件,如果没有就转 入“休眠”状态,释放系统资源 cron进程每分钟醒来一次,查看crontab文件决定当前是否有需要执行的命令。命 令执行结束后,任何输出都将作为邮件发送给crontab的所有者
crontab命令的作用及格式 作用:用于生成cron进程所需要的crontab文件 crontab的命令格式 crontab[-u user] file crontab[-u user] {-l|-r|-e} -l 该选项将使在标准输出上显示当前的crontab -r 删除当前的crontab -e 使用编辑器编辑当前的crontab文件。 当结束编辑离开时,编辑后的文件将自动安装 Crontab文件格式: Minute Hour Day Month DayofWeek Command 字段 所代表的意义 可用范围 Minute 每小时的第几分钟运行该程序 0 ~ 59 Hour 每一天的第几小时运行该程序 0 ~23 Day 每个月的第几天运行该程序 1 ~ 31 Month 每一年的第几个月运行该程序 1 ~ 12 Dayof Week 每一周的第几天运行该程序 0~ 6 Command 指定要运行的程序 输入要执行的命令及参数
范例: 20 4 * * * program 指定每天的4点20分执行program命令 50 3 9 * * program 指定每月的9日3点50分执行program命令 1 0 8 9 * program 或 1 0 8 sep * program 指定每年的9月8日0点1分执行program命令
9、计划任务创建方法 如果需要在每周2、4、6凌晨3点使系统进入维护状态,重新启动系统,设该文件 名为/root/reboot.cron: 1.创建一个crontab # echo “00 03 * * 2,4,6 shutdown –r +10”>/root/reboot.cron 2.使用crontab命令安装/root/reboot.cron文件 #crontab/root/reboot.cron 安装 [root@hostroot]# corntab –e 创建root用户的corn文件 5514 * * * ls /root corn内容 [pp@hostpp]$ crontab –e 创建pp用户的corn文件 3018 * * * ll /home/pp corn内容 [root@hostroot]# crontab –r 删除root的cron (责任编辑:IT) |