循序渐进linux-linux系统进程管理
5030 点击·0 回帖
![]() | ![]() | |
![]() | 作者:web开发成长过程
循序渐进linux-linux系统进程管理 1 进程的概念和分类 1、概念 在自身的虚拟空间运行的一个独立的程序,从操作系统的角度看,所有在系统上运行的东西都可以称为一个进程。 进程由程序产生。 程序是一个进程指令的集合,它可以启用一个或多个进程。 程序只占磁盘空间;进程只占内存空间。 2、分类 按照进程的功能和运行的程序分类,进程分两大类。 系统进程 可以执行内存资源分配和进程切换等管理工作。不受用户干预。 用户进程: 通过执行用户程序、应用程序和内核之外的系统程序而产生的进程。 分类:交互、批处理、守护 3、进程属性 状态:可运行状态、可中断的等待状态、不中断的等待状态、僵死状态、暂停状态 关系:父进程、子进程 14.2 进程的监控与管理 14.2.1 ps命令 ps -ef |grep httpd ps auxf |grep httpd 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 14.2.3 top 命令 top 动态实时的显示进程状态,同时提供了交互界面。 14.2.4 lsof命令 通过文件找到对应的进程信息 lsof /var/log/messages # message 文件由哪个进程在使用 lsof -c abc #显示abc进程现在打开的文件 lsof -g 3626 # 显示指定进程组打开的文件 lsof -P 1 #通过进程号显示程序打开的所有文件及相关进程 lsof -i lsof -i tcp:25 # tcp协议对应25端口进程信息 lsof -i :80 # 80端口对应的进程信息 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 * * * /......... #每隔3小时 */3 * * * /......... #每隔3小时3 0 */3 * * * /......... #每隔3小时 0 */3 * * * /......... #每隔3小时 | |
![]() | ![]() |