Linux系列七之常用命令整理(四):进程管理、内存监控、网络管理、压缩解压、服务管理、定时任务

一、进程管理类命令

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

1-1、查看进程:ps

功能:查看系统中所有进程

用法:ps -aux

例如:

图片.png

字段说明:

  • USER:该进程是由哪个用户产生的
  • PID:进程的ID号
  • %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源
  • %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源
  • VSZ:该进程占用虚拟内存的大小,单位KB
  • RSS:该进程占用实际物理内存的大小,单位KB
  • TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
  • STAT:进程状态。常见的状态有:
    • R:运行
    • S:睡眠
    • T:停止状态
    • s:包含子进程
    • +:位于后台
  • START:该进程的启动时间
  • TIME:该进程占用CPU的运算时间,注意不是系统时间
  • COMMAND:产生此进程的命令名

关于虚拟内存和物理内存请参考其他文章

1-1-1、查看某一个进程:
ps -aux | grep pid
图片.png
1-1-2、ps -aux、ps aux、
  1. ps -aux和ps aux
    ps -aux不同于ps aux。POSIX和UNIX的标准要求”ps -aux”打印用户名为”x”的用户的所有进程,以及打印所有将由-a选项选择的过程。如果用户名为”x”不存在,ps的将会解释为”ps aux”,而且会打印一个警告。这种行为是为了帮助转换旧脚本和习惯。它是脆弱的,即将更改,因此不应依赖。

如果你运行ps -aux >/dev/null,那么你就会得到下面这行警告信息

Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 

综上: 使用时两者之间直接选择ps aux

  1. ps aux和ps -ef
    两者的输出结果差别不大,但展示风格不同。aux是BSD风格,-ef是System V风格。这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。当结合grep时这种区别会影响到结果。

综上:以上三个命令推荐使用:ps -ef

图片.png

1-2、查看系统健康状态:top

用法:top [参数选项]

参数选项:

  • -d N:指定top命令每隔N秒更新。默认是3秒在top命令的交互模式当中可以执行的命令
  • -i:使top不显示任何闲置或者僵死进程
  • -p:通过指定监控进程ID来仅仅监控某个进程的状态
  • -s : 使top命令在安全模式中运行,这将去除交互命令所带来的潜在危险

操作选项:

  • P:以CPU使用率排序,默认就是此项
  • M:以内存的使用率排序
  • N:以PID排序
  • q:退出top

功能说明:

图片.png

第一行为任务队列信息:

任务队列信息

第二行为进程信息:

进程信息

第三行为CPU信息:

CPU信息

第四行为物理内存信息:

物理内存信息

第五行为交换分区(swap)信息:

交换分区(swap)信息

1-3、查看进程树:pstree

功能:
Linux pstree命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。

用法:pstree [参数选项]

参数选项:

  • -a :显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
  • -c:如果有重覆的行程名, 则分开列出(预设值是会在前面加上 *)
  • -p:显示进程的PID
  • -u:显示进程的所属用户
图片.png

1-4、终止进程:kill

功能:
发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令可以查看进程号。root用户将影响用户的进程,非root用户只
能影响自己的进程。

用法:kill [参数选项] [进程号]

例如:kill -9 pid:结束指定pid的进程

参数选项:

  • -l:信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
  • -a:当处理当前进程时,不限制命令名和进程号的对应关系
  • -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号
  • -s:指定发送信号
  • -u:指定用户

输出所有信号量:kill -l

图片.png

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:

  • HUP:1,终端断线
  • INT:2,中断(同 Ctrl + C)
  • QUIT:3,退出(同 Ctrl + \)
  • TERM:15,终止
  • KILL:9,强制终止
  • CONT:18,继续(与STOP相反, fg/bg命令)
  • STOP:19,暂停(同 Ctrl + Z)

二、内存监控类命令

2-1、显示内存使用情况:free

功能:显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略。

用法:free [参数选项]

参数选项:

  • -h:-human,自动将数值转换为人类易读形式
  • -b:以Byte为单位显示内存使用情况
  • -k:以KB为单位显示内存使用情况
  • -m:以MB为单位显示内存使用情况
  • -g:以GB为单位显示内存使用情况
  • -o:不显示缓冲区调节列
  • -s<间隔秒数>:持续观察内存使用状况
  • -t:显示内存总和列
  • -V:显示版本信息

例如:

[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          7869       7651        218          1        191       5081
-/+ buffers/cache:       2378       5490
Swap:          478        139        339

说明:

我们分别使用total1、used1、 free1、total2、used2、free2 等名称来代表上面统计数据的各值,1、2 分别代表第一行(不考虑标题行)和第二行(不考虑标题行)的数据。

第一行数据:代表内核角度的统计

  • total1:表示物理内存总量

  • used1:表示已分配的物理内存,包括真正已使用和分配给缓冲和缓存(buffers 与cached,但其中可能部分空间并未实际使用)的数量

  • free1:未被分配的物理内存

  • shared1:不同进程间用来进行数据交换,一般都是0(多个进程共享的内存总额)

  • buffers1: 系统分配但未使用的buffer数量

  • cached1:系统分配但未使用的cache数量

第二行数据:代表应用程序角度的统计

  • used2:系统当前实际使用的内存总量
  • free2:系统当前实际可用内存,包括未被分配的内存以及分配给buffer与cache但未使用(这部分空间对应用程序来说可用)的内存之和

公式:

  • total1 = used1 + free1,对内核或OS来说,总物理内存 = 已分配 + 未分配

  • used2 = used1 - buffers1 - cached1,对应用程序来说,实际使用内存 = 系统已分配(包含分配给buffer和cache) - 系统缓冲分配但未使用 - 系统缓存分配但未使用

  • free2 = free1 + buffers1 + cached1,对应用程序来说,实际可用内存 = 系统未分配 + 系统缓冲分配但未使用 + 系统缓存分配但未使用

  • total1 = used2 + free2,对应用程序来说,总物理内存 = 实际使有内存 + 实际可用内存

三、网络管理类命令

3-1、显示网络统计信息:netstat

用法:netstat -anp

功能:
用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容

例如:

[root@node000 ~]# netstat -anp | grep 50070
tcp    0    0    0.0.0.0:50070    0.0.0.0:*    LISTEN    6816/java  

四、后台服务管理类命令

4-1、后台服务管理:service

service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。service运行指定服务(称之为System V初始脚本)时,把大部分环境变量去掉了,只保留LANG和TERM两个环境变量,并且把当前路径置为/,也就是说是在一个可以预测的非常干净的环境中运行服务脚本。这种脚本保存在/etc/init.d目录中,它至少要支持start和stop命令。

用法:
service SCRIPT COMMAND [OPTIONS]

功能:
service命令用于启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。

常用操作:

  • service --status-all:查看系统中所有的后台服务
  • service network status:查看指定服务的状态
  • service network start:启动指定服务
  • service network stop:停止指定服务
  • service network restart:重启指定服务

4-2、设置后台服务的运行级别:chkconfig

功能:
chkconfig用于查看、设置服务的运行级别。

用法:
chkconfig [服务] [参数选项]

常用操作:

  • chkconfig --list:查看系统服务列表,以及每个服务的运行级别
  • chkconfig iptables on:开启指定服务的自动启动
  • chkconfig iptables off:关掉指定服务的自动启动

4-3、查看服务是否自动启动:ntsysv

功能:
ntsysv用于直观方便的设置各个服务是否自动启动。

用法:
ntsysv

常用操作:

  • ntsysv:以全屏幕文本界面设置服务开机时是否自动启动

五、压缩解压类命令

5-1、压缩解压:gzip/gunzip

用法:

  • gzip+文件:压缩文件,只能将文件压缩为*.gz文件
  • gunzip+文件.gz:解压文件

注意:gzip压缩文件时

  • 只能压缩文件不能压缩目录
  • 不保留原来的文件

5-2、压缩解压:zip/unzip

用法:

  • zip + 参数 + XXX.zip + 将要压缩的内容 :压缩文件和目录的命令,window/linux通用且可以压缩目录且保留源文件
  • unzip + 压缩文件:解压文件

5-3、压缩解压:tar

linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。

用法:
tar + 参数 + XXX.tar.gz + 将要打包进去的内容(可以是多个文件):打包目录,压缩后的文件格式.tar.gz

格式:tar[必要操作][可选参数][必要参数][文件]

必要操作:

  • -c: 压缩
  • -x:解压
  • -t:查看内容
  • -r:向压缩归档文件末尾追加文件
  • -u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

可选参数:

  • -z:有gzip属性的
  • -j:有bz2属性的
  • -Z:有compress属性的
  • -v:显示所有详细过程
  • -O:将文件解开到标准输出

必要参数:

  • -f: 使用档案名字。切记,这个参数是最后一个参数,后面只能接档案名

例如:

压缩文件:

tar  -zcvf  XXX.tar.gz  目录:压缩目录
tar  -zcvf  XXX.tar.gz  n1.txt  n2.txt:压缩文件

解压文件:

tar  -zxvf  XXX.tar.gz:解压到当前目录
tar  -zxvf  XXX.tar.gz  -C  指定目录:解压到指定目录

六、定时任务类命令

6-1、系统定时任务设置:crontab

crontab是系统定时任务设置,想要使用crontab,首先要开启系统定时任务服务crond,开启服务:

service crond start

crontab用法:crontab [参数选项]

参数选项:

  • -e:编辑crontab定时任务,可以添加和删除任务
  • -l:查询crontab任务
  • -r:删除当前用户所有的crontab任务

定时语句说明:

图片.png
图片.png
图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容