Linux系统的进程
众所周知,不管在什么系统中,进程和线程都是操作系统中高并发处理中产生了重要的作用。Linux作为一个操作系统,也必须要拥有这两者才可以进行高并发。
进程是资源分配的最小单位。
每一个进程都是相互独立的,不管是资源使用还是进程的执行代码。同时每个进程的环境变量和拥有的资源也是不同的,属于独占资源,这也恰恰保证了每个进程的数据都是安全的。
线程是CPU调度的最小单位。
一个进程中可以存在一个或多个线程。一个进程中的线程数据都是共享的,大大提高了数据的传递效率。多线程就是指的这种多个线程同时运行,在线程调度时也可能会产生阻塞,不过这儿并不会影响其他线程的执行。也就是线程使得计算机处理数据更加高效了。
Linux系统实时监控
top [-][d number][b][n number][p pid][s][u username]#[h][k]控制台交互命令
- 基本选项
-d number
:设置屏幕刷新间隔时间,单位为秒,默认为5秒。-b
:以批处理模式操作,用于将top的输出重定向到文件或其他程序。-n number
:与-b
配合使用,表示top命令输出结果的循环显示次数。-p pid
:指定特定的进程号进行观察。-s
:保密模式,隐藏或替代部分信息。-u username
:指定用户名,只显示该用户的进程。2.常用交互命令:
h
:显示帮助画面,给出一些简短的命令总结说明。k
:终止一个进程,可以通过输入进程号并向其发送信号来实现
# 直接输入top时会显示当前状态中实时的系统性能监控状态
top
# 专注于查看某一个特定的内容及其cpu占用率
top -p [PID]
# 对实时监控的数据统一处理到一个文件中,可以设置文件保存以便查看
# 如果没有设置保存文件,则会直接输出到终端
top -b
# 将文件信息保存到top_output.txt文件中,并只刷新一次
top -b -n 1 > top_output.txt
Linux显示当前进程状态
ps [option][--help]
- -A:列出所有进程,不区分大小写。
- -a:显示适合终端的所有进程信息,包括其他用户的进程。
- -u:以用户为主的格式显示进程状态,显示更多详细信息。
- -x:显示没有控制终端的进程。
- -e:显示所有进程,效果与"-A"相似。
- -f:全格式列表,显示完整信息,包括UID、PPID、C、STIME等。
- -l:显示进程的详细信息,包括进程的状态、进程所属的用户等。
- -h:不显示标题行。
- -C:根据进程名过滤进程信息。
- -p:根据进程ID(PID)过滤进程信息。
- –sort:按照指定字段排序显示进程信息。
# ps 只显示当前的进程 ps -A 显示所有的进程
ps
ps -A
# 显示所有进程的详细信息,常用于诊断问题和监控系统性能和了解系统资源
ps -ef
# 显示所有用户的所有进程的详细信息
ps -aux
不仅如此,该命令还可以配合grep
来使用进行查找相应的进程。
ps -aux | grep 进程名称
Linux终结一个进程
kill [option] [pid]
使用kill命令一般是用来终结一个进程的,在之前用到的top
或者ps
命令都可以查看进程的PID
.
kill PID
# 强制杀死进程
kill -KILL 12345
# 彻底杀死进程
kill -9 12345
以上就是关于系统进程常用命令的所有内容,感谢各位观看。