Linux系统管理
Linux进程管理命令
#### ps (英文全拼:process status)命令:用于显示当前进程的状态 - 语法:ps [options] [--help] - 参数: - ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义 - -A 列出所有的进程 - -w 显示加宽可以显示较多的资讯 - -au 显示较详细的资讯 - -aux 显示所有包含其他使用者的进程 - au(x) 输出格式 : - USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND - USER: 行程拥有者 - PID: pid - %CPU: 占用的 CPU 使用率 - %MEM: 占用的记忆体使用率 - VSZ: 占用的虚拟记忆体大小 - RSS: 占用的记忆体大小 - TTY: 终端的次要装置号码 (minor device number of tty) - STAT: 该行程的状态: - D: 无法中断的休眠状态 (通常 IO 的进程) - R: 正在执行中 - S: 静止状态 - T: 暂停执行 - Z: 不存在但暂时无法消除 - W: 没有足够的记忆体分页可分配 - <: 高优先序的行程 - N: 低优先序的行程 - L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O) - START: 行程开始时间 - TIME: 执行的时间 - COMMAND:所执行的指令 - 实例 ```shell ##查找指定进程格式: ps -ef | grep 进程关键字 ##显示进程信息: ps -A ##显示指定用户信息 ps -u root //显示root进程用户信息 ##显示所有进程信息,连同命令行 ps -ef ``` ####pstree命令:将所有行程以树状图显示 - 语法 pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user] pstree -V - 参数说明: -a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号 -c 如果有重覆的行程名, 则分开列出(预设值是会在前面加上 *) - 实例 ```shell # 显示进程的关系 pstree # 特别表明在运行的进程 pstree -apnh //显示进程间的关系 # 同时显示用户名称 pstree -u //显示用户名称 ``` #### top命令:用于实时显示 process 的动态。 - 语法:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] - 参数说明: d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行 c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来 s : 安全模式,将交谈式指令取消, 避免潜在的危机 i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程 n : 更新的次数,完成后将会退出 top b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内 - 实例 ```shell # 显示进程信息 top #显示完整命令 top -c # 以批处理模式显示程序信息 top -b # 以累积模式显示程序信息 top -S # 设置信息更新次数 top -n 2 //表示更新两次后终止更新显示 # 设置信息更新时间 top -d 3 //表示更新周期为3秒 # 显示指定的进程信息 top -p 139 //显示进程号为139的进程信息,CPU、内存占用率等 # 使用者将不能利用交谈式指令来对行程下命令 top -s # 将更新显示二次的结果输入到名称为 top.log 的档案里 top -n 2 -b < top.log ``` #### lsof命令:列出进程调用或打开的文件信息 - 通过 ps 命令可以查询到系统中所有的进程,通过 lsof 命令,我们就可以根据文件找到对应的进程信息,也可以根据进程信息找到进程打开的文件。 - 语法:lsof [选项] - 选项: - -c 字符串:只列出以字符串开头的进程打开的文件。 - +d 目录名:列出某个目录中所有被进程调用的文件。 - -u 用户名:只列出某个用户的进程打开的文件。 - -p pid:列出某个 PID 进程打开的文件。 - 实例 ```shell #查询系统中所有进程调用的文件 lsof | more #查询某个文件被哪个进程调用 lsof /sbin/init #查询某个目录下所有的文件是被哪些进程调用的 lsof +d /usr/lib #查看以httpd开头的进程调用了哪些文件 lsof -c httpd #查询PID是2的进程调用的文件 lsof -p 2 #按照用户名查询某个用户的进程调用的文件 lsof -u root ``` #### nice和renice命令:改变进程优先级 - nice 命令:可以给要启动的进程赋予 NI 值,但是不能修改已运行进程的 NI 值。 格式:nice [-n NI值] 命令 -n NI值:给命令赋予 NI 值,该值的范围为 -20~19; - renice 命令:同 nice 命令恰恰相反,renice 命令可以在进程运行时修改其 NI 值,从而调整优先级。 格式: renice [优先级] PID 注意,此命令中使用的是进程的 PID 号,因此常与 ps 等命令配合使用。 #### kill 命令:用于删除执行中的程序或工作 - 语法:kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>] - 参数: -l <信息编号> 若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。 -s <信息名称或编号> 指定要送出的信息。 [程序] [程序]可以是程序的PID或是PGID,也可以是工作编号。 使用 kill -l 命令列出所有可用信号。 - 最常用的信号是: 1 (HUP):重新加载进程。 9 (KILL):杀死一个进程。 15 (TERM):正常停止一个进程。 #### killall 用于杀死一个进程 - kill 命令杀死指定进程 PID,需要配合 ps 使用,而 killall 直接对进程对名字进行操作,更加方便。与 kill 不同的是它会杀死指定名字的所有进程。 - 语法: killall [选项] name - 参数说明: name : 进程名 - 选项: -e : 进程需要和名字完全相符 -I :忽略大小写 -g :结束进程组 -i :结束之前询问 -l :列出所有的信号名称 -q :进程没有结束时,不输出任何信息 -r :将进程名模式解释为扩展的正则表达式。 -s :发送指定信号 -u :结束指定用户的进程 -v :显示详细执行过程 -w :等待所有的进程都结束 - 实例 killall -9 php-fpm //结束所有的 php-fpm 进程 #### pkill 用于杀死一个进程 - 与 kill 不同的是它会杀死指定名字的所有进程,类似于 killall 命令。 - kill 命令杀死指定进程 PID,需要配合 ps 使用,而 pkill 直接对进程对名字进行操作,更加方便。 - 语法: pkill [选项] name - 参数说明: name : 进程名 - 选项: -o 仅向找到的最小(起始)进程号发送信号 -n 仅向找到的最大(结束)进程号发送信号 -P 指定父进程号发送信号 -g 指定进程组 -t 指定开启进程的终端 - 实例 pkill -9 php-fpm //结束所有的 php-fpm 进程 #### pkill命令:踢出登陆用户 - pkill 还有一个更重要的功能,即按照终端号来踢出用户登录。当然通过kill命令或者 killall 命令都可以达到目的,但它们都是非常容易误杀死进程的。而使用 pkill 命令则不会 - 语法: pkill [-t 终端号] 进程名 - 例子: ```shell [root@localhost ~]# w #使用w命令查询本机已经登录的用户 20:06:34 up 28 min, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root ttyl - 19:47 18:52 0.01s 0.01s -bash root pts/0 192.168.0.100 19:47 0.00s 0.09s 0.04s w root pts/1 192.168.0.100 19:51 14:56 0.02s 0.02s -bash #当前主机已经登录了三个root用户,一个是本地终端ttyl登录,另外两个是从192.168.0.100登陆的远程登录 [root@localhost ~]# pkill -9 -t pts/1 #强制杀死从pts/1虚拟终端登陆的进程 ```
顶部
收展
底部
[TOC]
目录
Linux进程介绍
Linux进程管理命令
Linux工作管理
Linux任务调度:循环执行定时任务命令crontab
Linux任务调度:定时执行某次任务命令at
Linux任务调度:重新执行错过的定时任务命令anacron
Linux系统资源监控分析
Linux端口查询:netstat和lsof
相关推荐
Linux文件目录管理
Linux打包压缩
Linux文本处理
Linux软件安装
Linux用户和用户组管理
Linux文件系统管理