第四章 更多bash shell命令一
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,Key words : 进程查看 :ps top 监控磁盘空间:mount、df、du 操作数据文件 sort grep Linux文件压缩工具:bzip2 compresse gzip zip 4.
千家信息网最后更新 2024年11月17日第四章 更多bash shell命令一Key words : 进程查看 :ps top 监控磁盘空间:mount、df、du 操作数据文件 sort grep Linux文件压缩工具:bzip2 compresse gzip zip 4.1.1进程查看 ps 默认情况下只显示属于当前用户正在当前终端中运行的程序 [root@localhost ~]# ps PID TTY TIME CMD 4026 pts/0 00:00:00 bash 4793 pts/0 00:00:00 ps ps本身提供的信息很少,但它有很多参数,可以实现强大的功能 linux中使用的GNU ps命令支持3种不同的命令行参数: 1、Unix类型参数,前面有一短划线 2、BSD类型参数,前面没有短划线 3、GNU长参数,前面有双短划线 unix类型常用参数: ps -e/A 显示所有进程 -f 显示完整的格式列表 -l 显示长列表 ps -ef 是最常用最有用的 例: [root@localhost ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 20:35 ? 00:00:07 init [5] root 2 1 0 20:35 ? 00:00:00 [migration/0] root 3 1 0 20:35 ? 00:00:00 [ksoftirqd/0] root 4 1 0 20:35 ? 00:00:00 [watchdog/0] root 5 1 0 20:35 ? 00:00:00 [migration/1] root 6 1 0 20:35 ? 00:00:00 [ksoftirqd/1] root 7 1 0 20:35 ? 00:00:00 [watchdog/1] 。。。。。。 UID :负责启动进程的用户 PID :进程ID PPID:父进程ID C :进程存续期的处理器利用率 STIME :进程启动时的系统时间 TTY:进程从中启动的终端 TIME:运行进程所需的累积CPU时间 CMD:启动程序的名称 [root@localhost ~]# ps -el 若希望查看更多的信息,可以l参数 F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 1 0 0 78 0 - 518 - ? 00:00:07 init 1 S 0 2 1 0 -40 - - 0 migrat ? 00:00:00 migration/0 1 S 0 3 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/0 5 S 0 4 1 0 -40 - - 0 watchd ? 00:00:00 watchdog/0 1 S 0 5 1 0 -40 - - 0 migrat ? 00:00:00 migration/1 1 S 0 6 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/1 5 S 0 7 1 0 -40 - - 0 watchd ? 00:00:00 watchdog/1 F:内核分配给进程的系统标记 s :进程的状态(O=在处理器上运行; S=睡眠 ; R=可运行,等待运行 ; Z=死进程,进程以 终止但父进程不可用 ; T=进程已停止) PRI:进程的优先级,数字越大优先级越低 NI :nice value 用于判断优先级 ADDR:进程的内存地址 SZ:换出进程大致需要的交换空间 WCHAN:进程睡眠时所在的内核函数的地址 BSD类型参数: 与Unix类型参数有许多相同之处,最常用的是l 参数 [root@localhost ~]# ps l F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 4 0 3483 1 17 0 1664 452 - Ss+ tty1 0:00 /sbin/mingetty t 4 0 3484 1 18 0 1664 452 - Ss+ tty2 0:00 /sbin/mingetty t 4 0 3485 1 18 0 1664 448 - Ss+ tty3 0:00 /sbin/mingetty t 4 0 3486 1 19 0 1664 448 - Ss+ tty4 0:00 /sbin/mingetty t 4 0 3487 1 20 0 1664 448 - Ss+ tty5 0:00 /sbin/mingetty t 4 0 3488 1 21 0 1664 452 - Ss+ tty6 0:00 /sbin/mingetty t 4 0 3590 3586 15 0 18372 10400 - Rs+ tty7 0:29 /usr/bin/Xorg :0 0 0 4026 4022 15 0 4912 1520 wait Ss pts/0 0:00 bash 4 0 6055 4026 17 0 4456 844 - R+ pts/0 0:00 ps l 不同的地方是 VSZ :进程在内存中的大小,以KB为单位 RSS:进程使用过且未被换成的物理内存 STAT:由两个字符组成的状态码,表示当前进程的状态,第一个字符与Unix类型的S输出列的值相同 ,第二个字符进一步定义进程的状态: < : 进程正以高优先级运行 N :进程正以低优先级运行 L:进程在内存中存在锁定页面 s:进程是会话的领导者 l:进程是多线程的 +:进程正在前台运行 4.1.2实时进程监控 ps只能显示特定时间点的信息,而top命令可以实时显示进程信息,例如在内存中换进换出的进程趋 势、负载值等。 [root@localhost ~]# top top - 22:32:40 up 1:57, 2 users, load average: 0.07, 0.02, 0.00 Tasks: 95 total, 2 running, 93 sleeping, 0 stopped, 0 zombie Cpu(s): 3.1%us, 2.9%sy, 0.0%ni, 93.8%id, 0.0%wa, 0.1%hi, 0.0%si, 0.0%st Mem: 1035064k total, 331236k used, 703828k free, 87928k buffers Swap: 2097144k total, 0k used, 2097144k free, 145676k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3590 root 15 0 35356 9.9m 5820 S 7.1 1.0 0:36.91 Xorg 4022 root 15 0 100m 17m 10m R 4.1 1.7 0:08.06 gnome-terminal 3733 root 15 0 39848 11m 7664 S 0.3 1.1 0:01.06 metacity 3828 root 15 0 16904 4080 3188 S 0.3 0.4 0:01.71 gnome-screensav 6867 root 18 0 2300 1080 836 R 0.3 0.1 0:00.14 top 1 root 18 0 2072 660 568 S 0.0 0.1 0:07.19 init 2 root RT -5 0 0 0 S 0.0 0.0 0:00.35 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0 。。。。。。 第一行:当前时间 系统已正常运行的时间 登录的用户数量 系统平均负载 平均负载包括三个值,分别是1分钟平均负载、5分钟平均负载、15分钟平均负载。值越高则系统负 载越大,短期活动使1分钟平均负载值冲高是常见的,但是15分钟平均负载值处于高位则表示系统可能 遇到了麻烦。平均负载值依赖于在系统的硬件配置和其中运行的程序,这个值对不同的系统有不同的影 响,但一般来说,如果平均负载值高于2则表示系统趋于繁忙。 第二行:一般进程信息:有多少进程在运行、睡眠、已停止、僵死(已经运行完毕,但父进程未响应) 第三行:CPU的一般信息 第四第五行:系统内存状态 剩下的信息跟PS命令的输出相似。 默认情况下,top会根据%CPU的值对程序进行排序,但可以在top运行其中按下互交式命令改变 程序行为 b 启用表中重要数据用粗体显示 z 显示颜色 l 在单个CPU与symmetric Muutiprocessor(SMP)状态之间切换 F 选择对进程进行排序的字段 m 切换MEM和SWAP信息行显示 k 杀死特定进程 q 退出top命令 d/s 更改更新时间(默认为3秒) u 显示特定用户的进程 w 将当前设置写入配置文件 。。。。。。 4.1.3停止进程--需要root用户或进程所有者 Linux沿用了Unix中的进程间通信方法,在Linux中,各种进程使用信号相互通信,进程信号是进程可 以识别的预定义信息,进程可以选择忽略它或作出响应,大多数精心编写的应用程序都能接收标准Unix 进程信号,并对此作出响应。 Linux进程信号:
kill 和killall 命令可以向运行中的进程发送进程信号 kill 命令根据PID将信号发送给相关进程,默认情况下kill命令向进程发送TERM(15)信号友好地通知 进程停止运行,但当进程失控时很可能忽略该请求。当需要执行强制措施时可以通过使用参数-s 来指定 其他信号(名称或信号编号) 例: [root@localhost ~]# kill 4302 [root@localhost ~]# kill -s 9 4302 [root@localhost ~]# kill -2 4532 [root@localhost ~]# kill QUIT 4597 killall可以根据进程名称来停止进程,还允许使用通配符,对处理出错的系统非常有用。但使用时务必小心,否则很容易导致意外停止重要的系统进程,使文件系统受损。 [root@localhost ~]# killall gnome-terminal
信号 | 名称 | 描述 |
1 | HUP | 挂起 |
2 | INT | 中断 |
3 | QUIT | 停止运行 |
9 | KILL | 强制终止 |
11 | SEGV | 段违例 |
15 | TERM | 条件终止 |
17 | STOP | 强制停止但未终止 |
18 | TSTP | 停止或暂停,但仍继续在后台运行 |
19 | CONT | STOP或TSTP之后恢复执行 |
进程
运行
系统
参数
信号
命令
信息
内存
时间
状态
程序
类型
优先级
用户
不同
名称
文件
字符
常用
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
pes2019数据库
软件开发需要什么性格
虚拟主机和轻云服务器
30个无盘服务器多少钱
到服务器上get
sql数据库怎么导入数据
网络安全选手
软件开发怎么找网络公司
金牛区软件开发
淮安互联网软件开发来电咨询
服务器管理与配置视频
js翻译软件开发
深圳市安可互联网信息科技
数据库查询前五行
武清区互联网软件开发质量保障
服务器为什么不能连接光猫
asp网络数据库
数据库模型工程师
宣城工程管理软件开发外包公司
安徽服务器机箱厂家云空间
网络手抄报网络安全手抄报
邯郸软件开发工资行情
绿森林网络技术公司
软件开发的编程题
网络安全哪些学校好
如何让公民参与网络技术
贝尔实验室 软件开发
数据库模型工程师
南京通联汇网络技术有限公司
网络安全专家黑客视频