系统信息相关命令
本节内容主要是为了方便通过远程终端维护服务器时,查看服务器上当前 系统日期和时间 / 磁盘空间占用情况 / 程序执行情况
本小结学习的终端命令基本都是查询命令,通过这些命令对系统资源的使用情况有个了解
目标
时间和日期
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一样?
kill -9 <进程代号>
:这个命令会发送SIGKILL信号给指定的进程,进程代号(PID)是要终止的进程的标识号。SIGKILL信号是一个非常强大和突然的信号,它会立即终止进程。它不给进程任何机会进行清理或优雅地处理终止。因此,该进程会被强制终止,任何未保存的数据或资源可能会处于不一致的状态。kill -15 <进程代号>
:这个命令会发送SIGTERM信号给指定的进程,进程代号(PID)是要终止的进程的标识号。SIGTERM信号相比SIGKILL信号更加温和。它会礼貌地请求进程自行终止。当进程接收到SIGTERM信号时,它有机会在退出之前执行任何必要的清理操作。大多数进程都会正确处理SIGTERM信号并优雅地终止。kill <进程代号>
:这个命令与kill -15 <进程代号>
是相同的。如果没有指定信号编号,它默认为SIGTERM。因此,kill <进程代号>
实际上等同于kill -15 <进程代号>
。这个命令会礼貌地请求进程自行终止,允许进程在退出之前进行清理。
总结一下,kill -9
、kill -15
和 kill
命令之间的主要区别在于它们如何终止进程:
kill -9
:使用SIGKILL强制终止进程,进程会立即被终止,没有任何清理的机会。kill -15
:使用SIGTERM优雅地终止进程,进程会被请求终止,在退出之前可以进行清理操作。kill
:这与kill -15
相同,会礼貌地请求进程终止,并在退出之前允许进行清理。
通常建议首先使用kill -15
(或kill
,不指定信号编号)来允许进程优雅地终止。只有当进程不响应SIGTERM或出现问题时,才考虑使用kill -9
,因为它会强制终止进程而不给进程清理的机会。但是要小心使用kill -9
,因为它可能导致数据损坏或其他意外问题。
除了kill -9
和kill -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
补充
Last updated