系统信息相关命令

  • 本节内容主要是为了方便通过远程终端维护服务器时,查看服务器上当前 系统日期和时间磁盘空间占用情况程序执行情况

  • 本小结学习的终端命令基本都是查询命令,通过这些命令对系统资源的使用情况有个了解

目标

  • 时间和日期

    • date

    • cal

  • 磁盘和目录空间

    • df

    • du

  • 进程信息

    • ps

    • top

    • kill

01. 时间和日期

序号
命令
作用

01

date

查看系统时间

02

cal

calendar 查看日历,-y 选项可以查看一年的日历

02. 磁盘信息

序号
命令
作用

01

df -h

disk free 显示磁盘剩余空间

02

du -h [目录名]

disk usage 显示目录下的文件大小

  • 选项说明

参数
含义

-h

以人性化的方式显示文件大小

03. 进程信息

  • 所谓 进程,通俗地说就是 当前正在执行的一个程序

序号
命令
作用

01

ps aux

process status 查看进程的详细状况

02

top

动态显示运行中的进程并且排序

03

kill [-9] 进程代号

终止指定代号的进程,-9 表示强行终止

ps 默认只会显示当前用户通过终端启动的应用程序

ps aux | grep keyword

kill -9 进程代号 强制停止

kill -15 进程代号 优雅停止(默认)

kill -5 进程代号 和-15一样?

  1. kill -9 <进程代号>:这个命令会发送SIGKILL信号给指定的进程,进程代号(PID)是要终止的进程的标识号。SIGKILL信号是一个非常强大和突然的信号,它会立即终止进程。它不给进程任何机会进行清理或优雅地处理终止。因此,该进程会被强制终止,任何未保存的数据或资源可能会处于不一致的状态。

  2. kill -15 <进程代号>:这个命令会发送SIGTERM信号给指定的进程,进程代号(PID)是要终止的进程的标识号。SIGTERM信号相比SIGKILL信号更加温和。它会礼貌地请求进程自行终止。当进程接收到SIGTERM信号时,它有机会在退出之前执行任何必要的清理操作。大多数进程都会正确处理SIGTERM信号并优雅地终止。

  3. kill <进程代号>:这个命令与kill -15 <进程代号>是相同的。如果没有指定信号编号,它默认为SIGTERM。因此,kill <进程代号> 实际上等同于 kill -15 <进程代号>。这个命令会礼貌地请求进程自行终止,允许进程在退出之前进行清理。

总结一下,kill -9kill -15kill 命令之间的主要区别在于它们如何终止进程:

  • kill -9:使用SIGKILL强制终止进程,进程会立即被终止,没有任何清理的机会。

  • kill -15:使用SIGTERM优雅地终止进程,进程会被请求终止,在退出之前可以进行清理操作。

  • kill:这与kill -15相同,会礼貌地请求进程终止,并在退出之前允许进行清理。

通常建议首先使用kill -15(或kill,不指定信号编号)来允许进程优雅地终止。只有当进程不响应SIGTERM或出现问题时,才考虑使用kill -9,因为它会强制终止进程而不给进程清理的机会。但是要小心使用kill -9,因为它可能导致数据损坏或其他意外问题。

除了kill -9kill -15之外,还有其他一些数字可以用来表示不同的信号。在Unix系统中,通过信号来与进程进行通信是一种常见的机制。以下是一些常用的信号及其对应的数字表示:

  • SIGHUP (1): 终端挂起信号。当终端连接断开时,通常会发送此信号。

  • SIGINT (2): 中断信号。通常由终端上按下Ctrl+C触发。

  • SIGQUIT (3): 退出信号。通常由终端上按下Ctrl+\触发。

  • SIGKILL (9): 强制终止信号。立即终止进程,无法被阻塞、忽略或捕获。

  • SIGTERM (15): 终止信号。请求进程终止,允许进程执行清理操作。

  • SIGUSR1 (10): 用户自定义信号1。可以由进程根据需要自定义使用。

  • SIGUSR2 (12): 用户自定义信号2。同样可以由进程根据需要自定义使用。

这些是其中一些常用的信号。还有其他一些信号,每个信号都有特定的用途和含义。你可以使用kill -<信号编号> <进程代号>命令将特定信号发送给指定的进程,从而实现与进程的交互和通信。要查看完整的信号列表和其对应的数字表示,你可以在终端上运行kill -l命令。

  • ps 选项说明

选项
含义

a

显示终端上的所有进程,包括其他用户的进程

u

显示进程的详细状态

x

显示没有控制终端的进程

提示:使用 kill 命令时,最好只终止由当前用户开启的进程,而不要终止 root 身份开启的进程,否则可能导致系统崩溃

  • 要退出 top 可以直接输入 q

补充

ps -aux
a 显示所有进程
u 显示所有用户进程

ps -a
显示所有进程

ps -au
显示用户, 有终端

x 没有终端

ps 命令 每周一个linux 命令

https://www.youtube.com/watch?v=7EWCx8vqVXY

过滤

ps -aux | grep sshd

排序, 以cpu为例, 降序
ps -aux --sort -pcpu
ps -aux --sort -pcpu | more
ps -au --sort -pcpu

排序, 以内存为例, 降序
ps -au --sort -pmem
前10个
ps -aux --sort -pmem | head -n 10

Last updated