Linux初窥:系统管理之(进程管理、定时任务、系统监控)

来源:互联网 发布:skype for ubuntu 14 编辑:程序博客网 时间:2024/06/06 00:23

查看进程

ps命令

命令用途:查看系统进程的状态。
命令语法:ps [选项]
常用选项:
a:显示所有进程;
u:以用户为主的格式进行显示;
x:不以终端机来区分;
e:列出程序时,显示每个程序所使用的环境变量。
-A:显示所有进程;
-e:显示所有进程;
-f:显示UID,PPID,C与STIME字段。
-l:显示F,S,PRI,NI,ADDR,SZ,WCHAN字段。
//使用BSD系统命令格式,查看所有进程ps aux//使用Linux标准命令格式,查看所有进程ps -efl
下图详细列出了使用ps aux命令所查看到的内容各字段所代表的含义。

top命令

命令用途:查看系统运行的状态。
命令语法:top [选项]
常用选项:
-d:指定屏幕刷新时间间隔,单位秒,默认3秒;
//查看系统运行状态,设置屏幕每两秒刷新一次top -d 2
交互模式:
?或h:显示交互模式的帮助;
P:按照CPU使用率排序,默认选项;
M:按照内存的使用率排序;
N:按照PID排序;
q:退出;
下图详细列出了使用top命令所查看到的内容各字段所代表的含义。
注:使用uptime命令,可以查看top命令执行结果的第一行内容,即负载与时间信息。

pstree命令

命令用途:以树状图的方式展现进程之间的派生关系。
命令语法:pstree [选项]
常用选项:
-p:显示进程的PID;
-u:显示进程所属的用户;
//查看进程树,并显示PID号pstree -up

终止进程

kill命令

命令用途:根据进程PID来结束进程。
命令语法:kill [信号量]  [PID] 
常用信号量:
1(SIGHUP):重启进程;
9(SIGKILL):强制结束;
15(SIGTERM):正常结束;
//强制结束PID为45548的进程kill -9 45548//重启PID为14845的进程kill -1 14845
使用kill -l命令可以查看kill命令支持的所有信号量,如下图所示。

killall命令

命令用途:根据进程名来结束进程。
命令语法:killall [选项][信号量]  [进程名] 
常用选项:
-i:交互式,杀死进程前会询问确认;
-I:忽略进程名的大小写;
//结束进程名称为httpD(不区分大小写)的进程,结束进程前询问确认killall -iI httpD

pkill命令

命令用途:pkill命令和killall命令类似,根据进程名来结束进程。
命令语法:pkill[选项][信号量]  [进程名] 
常用选项:
-t:根据终端号踢出用户;
//踢出终端号为tty1的用户pkill -9 -t tty1

后台进程

将一个普通进程放入后台执行有以下两种方式:
1)在执行的命令后面跟一个 “&” 符号,进程会被放入后台继续执行;
2)命令执行过程中,按下ctrl+z快捷键,进程会被放入后台,进入停止状态;

jobs命令

命令用途:查看任务列表及任务的状态。
命令语法:jobs[选项]
常用选项:
-l:显示进程号;
-r:显示运行状态(running)的任务;
-s:显示停止状态(stoped)的任务;
//查看任务列表,并显示进程号jobs -l

fg命令

命令用途:将任务列表中的任务恢复到前台执行。
命令语法:fg [%任务号]
//将任务号为1的任务恢复到前台执行fg %1

bg命令

命令用途:将任务列表中的任务恢复到后台执行。
命令语法:bg [%任务号]
//将任务号为2的任务恢复到后台执行bg %2

定时任务

crond服务

在Linux中如果要使用定时任务功能需先开启crond服务。
//开启crond服务service crond start//设置crond服务开机自启动chkconfig --level 2345 crond on

crontab命令

命令用途:管理定时任务。
命令语法:crontab [选项]
常用选项:
-l:查看当前用户的定时任务;
-e:编辑定时任务表;
-r:删除当前用户所有的定时任务;
//查看当前用户的定时任务crontab -l//删除当前用户的所有定时任务crontab -r//编辑定时任务表crontab -e
在创建定时任务时,需使用Cron表达式来设置任务的执行时间和周期,Cron表达式用五个“*”星号来分别表示分钟、小时、天、月、周,各个“*”星号的具体含义如下表。
项目含义取值范围第一个“*”一小时当中的第几分钟0-59第二个“*”一天当中的第几小时0-23第三个“*”一月当中的第几天1-31第四个“*”一年当中的第几月1-12第五个“*”一周当中的星期几0-7(0和7都代表星期日)
以下是一些Cron表达式的示例用法。
//每个星期一和星期二的晚上10点45分执行一次45 22 * * 1,2//每隔10分钟执行一次*/10 * * * *//每周一和每个月的1号、15号的0点0分执行一次0 0 1,15 * 1//每周一到周五的上午7点40分执行一次40 7 * * 1-5
定时任务设置语法:Cron表达式 [要执行的命令]
//每隔一分钟向/test/cron.log文件末尾写入数字1*/1 * * * * /bin/echo 1 >> /test/cron.log

系统监控

vmstat命令

命令用途:查看进程、内存、IO等系统整体运行状态。
命令语法:vmstat [刷新延时] [刷新次数]
//查看系统运行状态,每隔3秒刷新一次,刷新两次vmstat 3 2

dmesg命令

命令用途:查看系统开机时的内核检测信息。
命令语法:dmesg
//查看系统自检信息中与“CPU”相关的内容dmesg | grep CPU

free命令

命令用途:查看系统内存使用状态。
命令语法:free [选项]
常用选项:
-b:以字节为单位显示;
-k:以KB为单位显示,默认选项;
-m:以MB为单位显示;
-g:以GB为单位显示;
//查看系统内存使用状态,以MB为单位显示free -m
注:使用cat /proc/cpuinfo命令,可以查看更为详细的CPU信息。

uname命令

命令用途:查看系统内核相关信息。
命令语法:uname[选项]
常用选项:
-a:查看所有系统内核相关信息;
-r:查看系统内核版本;
-s:查看系统内核名称;
//查看所有系统内核相关信息;uname -a
注:
  • 使用file命令查看任意系统外部命令文件可以用来查看当前系统的位数,例如 file /bin/ls 
  • 使用lsb_release -a命令可以查看当前系统的发行版本。

lsof命令

命令用途:查看进程所打开的文件。
命令语法:lsof[选项] [进程名|PID]
常用选项:
-c:根据进程名查看;
-p:根据进程PID查看;
-u:查看与指定用户相关的进程;
//查看进程init打开的文件lsof -c init//查看进程962打开的文件lsof -p 962//查看与root用户相关的进程打开的文件lsof -u root


阅读全文
0 0