一个小白学习linux的艰辛路程day19

day19学习笔记

资源管理篇(进程资源管理)

  • 进程

    是正在执行的一个程序或命令,每个进程都是一个运行的实体,并占用一定的系统资源。
    
  • 程序

    是人使用计算机语言编写的可以实现特定目标或解决特定问题的代码集合,是正在计算机执行中的程序
    
  • 线程与进程

    进程: 资源单位
    线程: 工作单位
    

进程

  • 父进程与子进程

    1. 系统上运行了sshd服务
    2. 通过ssh客户端命令,都是去连接这个服务,产生的一堆子进程而已。
    
    [root@linux ~]# ps  -ef  | grep  sshd
    root        869      1  0 12:03 ?        00:00:00 /usr/sbin/sshd -D
    
    用户连接sshd服务,
    root       2908    869  0 14:10 ?        00:00:00 sshd: root@pts/2
    这条进程就是相当于是sshd服务所产生的子进程
    
  • 孤儿进程

    父进程由于某原因挂了,代码写的不好,导致生成的一堆子进程成为了孤儿,孤儿进程会被系统的1号进程收养,并且有1号进程来回收,处理这些孤儿进程,因此孤儿进程不会对系统产生什么危害。
    

  • 僵尸进程

    父进程创建出子进程后,如果子进程先挂了,父进程却不知道子进程挂了这件事,就无法正确送走子进程,清除它在系统中的信息,那么这个子进程就成了可怕的僵尸进程,会对系统产生危害
    
    直接将其父进程干掉即可
    


linux使用lsof恢复误删除的nginx日志

1.确保当前nginx进程运行中
2.模拟将日志文件删除
3.使用lsof命令,恢复日志数据


详解linux前台、后台运行进程

前台运行:
1.程序运行在当前的终端,所有的信息都输出到屏幕上,占用你的终端,你也无法继续使用
2.如果终端异常关闭,导致程序会自动退出

  • 后台运行:

    不会占用你的终端,程序在系统后台跑着,你该干啥干啥,终端关了,程序也继续运行

command &  				  # 未启动的command放入后台去运行

jobs                # 查看后台进程列表

ctrl + z        	  # 暂停进程

bg                  # 程序放入后台运行,和 & 一样

fg                  # 将后台任务放入前台执行


linux命令补充

  • kill命令(杀死进程)

常用参数   (参数后面加进程的id号)

kill  -1   ,不关闭进程,重载配置文件

kill  -2   中断  ctrl+c 快捷键

kill  -3   退出  ctrl+\快捷键

kill  -9   强制性杀死进程

kill  -15  终止进程(kill命令不加参数,系统默认为15信号)

kill  -20  暂停进程  ctrl+z快捷键
  • ps命令(查看进程)

常用参数

-e # 显示所有进程
[root@linux ~]# ps  -e | wc  -l
155     系统中共有155个进程

-f # 显示进程详细(与-e参数联合使用)
[root@linux ~]# ps  -ef 
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 12:03 ?        00:00:04 /usr/lib/systemd/systemd --switched-root
root          2      0  0 12:03 ?        00:00:00 [kthreadd]
root          3      2  0 12:03 ?        00:00:00 [ksoftirqd/0]

-p # 指定pid,显示其信息
[root@linux ~]# ps  -p  8808
   PID TTY          TIME CMD
  8808 ?        00:00:00 nginx

-C # 指定进程的名字查看
[root@linux ~]# ps  -C nginx
   PID TTY          TIME CMD
  8808 ?        00:00:00 nginx
  8810 ?        00:00:00 nginx

-U # 指定用户名,查看用户进程信息 
[root@linux ~]# ps  -U root
   PID TTY          TIME CMD
     1 ?        00:00:04 systemd
     2 ?        00:00:00 kthreadd

  • lsof命令(查看进程打开了什么文件)

常用参数

-c  指定进程名,打开了哪些系统文件
[root@linux ~]# lsof  -c  nginx
COMMAND  PID  USER   FD      TYPE             DEVICE SIZE/OFF     NODE NAME
nginx   8808  root  cwd       DIR                8,3     4096       64 /
nginx   8808  root  rtd       DIR                8,3     4096       64 /
nginx   8808  root  txt       REG                8,3  1266632  2770194 /usr/sbin/nginx

-p  显示指定pid打开的文件
[root@linux ~]# lsof  -p  8810
COMMAND  PID  USER   FD      TYPE             DEVICE SIZE/OFF     NODE NAME
nginx   8810 nginx  cwd       DIR                8,3     4096       64 /
nginx   8810 nginx  rtd       DIR                8,3     4096       64 /
nginx   8810 nginx  txt       REG                8,3  1266632  2770194 /usr/sbin/nginx

-u  显示指定用户uid打开的文件,以及具体进程信息
[root@linux ~]# lsof  -u  YL

+d  显示文件夹下被打开的文件有哪些
[root@linux ~]# lsof +d /var/log/nginx/
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
nginx   8808  root    2w   REG    8,3     3914 33885229 /var/log/nginx/error.log
nginx   8808  root    4w   REG    8,3     3914 33885229 /var/log/nginx/error.log
nginx   8808  root    5w   REG    8,3        0 34407895 /var/log/nginx/access.log


linux系统中统一的资源管理器

top、htop、glances三个资源管理器基本一致,只是提供的参数和功能有点不同而已
  • top

  • htop

  • glances

posted @   小叶4444  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示