循序渐进linux 第十四章 linux系统进程管理(完善中)
14.1 进程的概念和分类
1、概念
在自身的虚拟空间运行的一个独立的程序,从操作系统的角度看,所有在系统上运行的东西都可以称为一个进程。
进程由程序产生。
程序是一个进程指令的集合,它可以启用一个或多个进程。
程序只占磁盘空间;进程只占内存空间。
14.2.2 pstree命令
以树形结果显示程序和程序之间的关系
pstree [-aunpu] [pid/user]
pstree mysql #mysql用户启动了哪些进程
pstree -c -p mysql
pstree -u 26037 #知道PID查询哪个用户启动
pstree -u -p 26037
pstree -a -u -p 26037
lsof -i udp@127.0.0.1:53 #显示本机udp协议对应的53端口开启的进程信息
14.3 任务调度进程crond的使用
14.3.1 crond简介
crond是linux下用来周期性地执行某种任务或等待处理某些事件的一个守护进程,与linux下的计划任务类似。
linux下的任务调动分为两类,即系统任务调度和用户任务调度。
系统任务调度:配置文件 /etc/crontab文件
用户任务调度:配置文件 /var/spool/cron 目录中,文件名与用户名一致
14.3.2 crontab工具的使用
1、crontab使用格式
crontab [-u user] [file]
crontab [-u user] [-e | -l | -r | -i]
2、crontab文件含义
用户建立的crontab文件中,每行代表一项任务,每行的每个字段代表一项设置。每行6个字段,前五段是时间设定段,第六段是执行的命令段。
minite hour day month week command
3、crontab文件举例
0 */3 * * * /........./apachectl restart #每隔3小时重启apache服务
30 3 * * 6 /........./backup.sh #每周六3点30分执行脚本* * 1,20 * * fsck /dev/sdb8 #每个月的1号和20号 检查磁盘设备sdb810 5 */5 * * echo "">/usr/local/apache2/log/access_log #每个月的5,10,15,20,25,30号的5点10分执行清理apache日志操作 14.3.3 crontab注意事项注意环境变量问题 注意清理系统用户的邮件日志系统级任务调度与用户级任务调度的区分
14.4 关闭进程
14.4.1 kill终止一个进程
信号类型有多种,可用kill -l查看,常用的有3种:
SIGKILL对应数字9, 强制结束进程
SIGINT 对应数字 2,非强制结束进程 ,Cril + C
SIGTERM 对应数字 15, 正常结束进程,缺省选项
kill [信号类型] 进程id
killall [信号类型] 进程名称