0


<3> 使用shell监测机器

shell命令能够帮助你监测你的机器,包括当前机器上运行的程序(进程)、机器的磁盘使用情况等。熟悉这些监测可以在开发中避免一些如"存储打爆"之类的问题。

<进程监测>

进程是程序及其数据在计算机上的一次运行活动。进程会占用CPU、内存等资源,所以我们要根据资源情况启动进程,并及时杀掉不用的进程。

  1. ps

ps命令可以查看当前时刻运行的进程。无参数情况下,ps命令会显示运行在当前控制台下的属于当前用户的进程。如下图,我们运行了base shell(之前说过,shell也是一个程序)和ps命令本身。

ps命令曾经有两个版本,linux开发者整合后形成现在的ps命令,ps命令支持3种不同类型的命令行参数:

  • Unix风格:参数前单破折线;
  • BSD风格:参数前无破折线:
  • GNU风格:参数前双破折线;

ps命令每种风格都有很多参数,记住所有参数不太现实且无意义,我们在实际使用往往只需要特定几个参数就可以搞定。个人推荐使用 ps -ef 来查看所有进程的拓展信息

可以看到输出了所有的进程及信息。其中各列的含义是:
UID启动进程的用户PID进程IDPPID父进程的进程号C进程声明周期的CPU利用率STIME进程启动时间TTY进程启动是的终端设备TIME运行进程需要的累积CPU时间CMD启动的程序名称
注:使用 -l 参数,可以进一步拓展展示信息。

通常配合grep命令,我们可以筛选我们想要找到的进程。比如找到test.sh这个脚本的运行信息。

2.结束进程

kill命令可通过进程ID(PID)给进程发信号,结束进程(前提是你为该进程的所属用户或root用户)。

具体参数截取书中表格做参考

kill PID
kill -9 PID
kill -s KILL PID #效果等同kill -KILL PID

默认kill命令像进程发送TERM信号,可以通过 -[信号名或信号值]-s [信号名或信号值] 的方式发送不同信号。如默认TERM信号可能无法杀死一些"顽固"进程,这时候,kill -9 kill -s KILL令进程无条件终止。

killall ,该命令可以根据进程名结束进程,且支持通配符。

killall http*

<磁盘监测>

由上节知,Linux文件系统将所有的磁盘都并入一个虚拟目录下。我们在使用新的存储媒体之前,需要把它放到虚拟目录下。这项工作称为挂载(mounting)。

  1. mount 挂载

mount命令会输出当前系统上挂载的设备。

mount命令提供如下四部分信息:

  • 媒体的设备文件
  • 媒体挂载到虚拟目录的挂载点(on 后为挂载路径)
  • 文件系统类型(type 后为文件系统类型)
  • 已挂载媒体的访问状态

手动挂载命令

mount -t type device directory

type参数指定了磁盘被格式化的文件系统类型,Linux可识别很多文件系统类型。

媒体设备挂载到了虚拟目录后,root用户就有了对该设备的所有访问权限,而其他用户的访问则会被限制。可以通过设定目录权限指定用户对设备的访问权限。

  1. umount 卸载

从Linux系统上移除一个可移动设备时,不能直接从系统上移除,而应该先卸载。umount可以直接接挂载点(挂载路径)或挂载的设备名(如/dev/vdb)来卸载。

umount directory
umount device

注:如果在卸载设备时,系统提示设备繁忙,无法卸载设备,通常是有进程还在访问该设备或使用该设备上的文件。 这时可用lsof命令获得使用它的进程信息,然后在应用中停止使用该设备或停止该进程。lsof命令的用法很简 单:lsof /path/to/device/node,或者lsof /path/to/mount/point。

*3. *df 查看磁盘空间

df命令可以查看当前时刻所有已挂载磁盘的使用情况。

使用 -h 参数,可以更易读的显示。

  1. du 显示文件大小
du dir
du dir/*
du file

du命令可以显示指定目录/文件的大小。在显示中输出的最左边的数值是每个文件或目录占用的磁盘块数。使用 -h 可进行转换。通常还会用到 -s 参数显示总和。
 -s:显示总计。
 -h:按用户易读的格式输出大小,即用K替代千字节,用M替代兆字节,用G替代吉字

du命令默认显示目录/子目录,最左侧显示占用的磁盘块数。如果要显示文件,则需要指定文件。推荐使用下面命令,统计当前目录各文件大小。

du -sh .*
标签: unix linux shell

本文转载自: https://blog.csdn.net/fatfatmomo/article/details/122706048
版权归原作者 fatfatmomo 所有, 如有侵权,请联系我们删除。

“<3> 使用shell监测机器”的评论:

还没有评论