Linux的基础命令在这里: Linux基础命令 👈点击查看

Linux的用户、组、权限相关命令在这里: Linux用户、组、权限相关命令 👈点击查看

1. Linux 进程介绍

Linux 中每个运行的程序都是一个进程,Linux 会为每个进程分配一个唯一 ID 。

进程可以分为前台进程与后台进程,前台进程是屏幕上可以看到并进行操作的进程,后台进程是我们屏幕上虽然看不到,但是实际上一直在操作,一直在后台执行的进程。

Linux 及其他系统中的服务一般都是以后台进程的方式存在,一直保持在后台执行直到关机。

2. 显示系统的进程— ps aux

2.1 查看系统中的所有进程/某一进程

1. 查看系统中所有进程 命令: ps aux

2. 查看系统中某一进程 命令: ps aux|grep 进程名

比如查看 nginx 进程:vps aux|grep nginx

  

2.2 ps aux 结果字段解释

  1. USER :进程的拥有者。
  2. PID :进程的唯一id号(Process ID)。
  3. %CPU :进程所占用的 CPU 的百分比。
  4. %MEM :进程所占用的物理内存的百分比。
  5. VSZ :进程所占用的虚拟内存的大小(单位:KB)。
  6. RSS :进程所占用的物理内存的大小(单位:KB)。
  7. TTY :终端名称的缩写。
  8. STAT :进程的状态(常见状态下面列出了)。
  9. START :进程启动的时间。
  10. COMMAND:启动进程所使用的命令和参数,过长的结果会被截断显示。

  

其中进程 STAT 有如下常见状态 :

  1. S -可中断的睡眠状态;
  2. s -表示该进程是会话首进程(session leader);
  3. N -低优先级;
  4. < -高优先级;
  5. R -正在运行或可运行;
  6. D -不可中断的睡眠状态,短期等待;
  7. Z -僵尸进程;
  8. T -被暂停或被跟踪;
  9. X -退出状态,进程即将被销毁
  10. l -多进程的。
  11. + - 在前台的进程

  

3. 终止进程— kill、killall

3.1 通过进程号杀死进程—kill

通过进程号杀死进程 命令: kill 进程号

常用参数:

  1. -9 ,表示强制终止进程 :kill -9 进程号

进程号,就是上面 ps aux 查询出来的进程 PID 。

3.2 通过进程名称杀死进程— killall

通过进程名称杀死进程 命令: kill 进程名称

常用参数:

  1. -9 ,表示强制终止进程 :kill -9 进程名称

killall 还支持通配符,在系统负载过大变慢时很有用。

  

4. 查看进程树— pstree

1. 查看进程树命令: pstree

使用进程树可以更直观的查看进程的信息。

常用参数:

  1. -p 显示进程的 PID:pstree -p
  2. -u 显示进程的所有者:pstree -u
  3. -a 显示该行程的完整指令及参数:pstree -a

  

5. 服务管理— service

服务(service) 本质就是进程,不过是运行在后台的进程,服务通常都会监听某个端口,等待其它程序的请求,比如(mysql , nginx, 防火墙等),因此我们服务也称为守护进程。

服务管理 命令: service 服务名 [start | stop | restart | reload | status]

演示:

  1. 查看防火墙状态:service iptables staus
  2. 关闭防火墙:service iptables stop
  3. 查看 MySQL 状态L :service mysql status
  4. 关闭 MySQL 服务:service mysql stop
  5. … …

注意:

这样设置之后只是临时有效,重启系统之后,还是会回到服务之前的设置。

如果想要设置某个服务自启动或者关闭永久有效,需要使用 chconfig 命令

   

6. 动态监控进程— top

动态监控进程 命令: top

相比于 ps ,top 是动态的显示正在执行的进程,默认是 3 秒更新一次。

top 常用参数:

  1. -d 秒数 :设置 top 更新频率的时间,默认是3秒;这个命令在交互模式中也可以执行。
  2. -i :top 的结果中不显示僵尸进程或闲置线程。
  3. -p 进程PID :通过指定 PID 动态监控指定的进程。

  

输入 top ,进入监控界面后,可以输入一些命令进行交互操作。

top 交互操作:

  1. P 按 P ,可将监控中的进程以 CPU 使用率排序,默认也是按此排序。
  2. M 按 M ,可将监控中的进程以 内存 使用率排序。
  3. N 按 M ,可将监控中的进程以 PID 顺序排序。
  4. u 按 u ,然后输入 用户名 ,并按下回车后,可以监控指定用户的进程。
  5. k 按 k ,然后输入 进程 PID ,并按下回车后,可以结束指定进程的运行。
  6. -d 按 - ,再按 d ,然后可以输入数字,并按下回车后,可以改变默认的更新频率时间。
  7. q 按q,可以推出 top 监控。

  

7. 查看网络状态

查看系统网络情况 命令: netstat

常用参数:

  1. -an 按顺序排列显示:netstat -an
  2. -p 显示哪个线程在调用:netstat -p

一般 -an 和 -p 这两个参数一起使用:netstat -anp

查看某个指定服务的网络信息:netstat -anp|grep 服务名

查看当前系统有哪些端口在监听:netstat -tlnp

  

8. 总结

关于 Linux 进程管理常用的命令和参数大概就这些了,更多相关的命令和参数,在工作中遇到了之后再去查找和学习。

看完之后,如果还有什么不懂的,可以在评论区留言,会及时回答更新。

点个关注,鼓励鼓励

这里是猿兄,为你分享程序员的世界。

非常感谢各位优秀的程序员们能看到这里,如果觉得文章还不错的话,
求点赞👍 求关注💗 求分享👬求评论📝
这些对猿兄来说真的 非常有用!!!

注: 如果猿兄这篇博客有任何错误和建议,欢迎大家留言,不胜感激!