Linux 进程管理

进程(process)一个独立运行的程序

进程就是操作系统中运行的一个程序。在计算机中操作系统拥有对 CPU、内存、硬盘灯硬件资源的最高操作权限,应用程序不能直接调用硬件资源,应用程序是以进程的方式运行在操作系统中,通过操作系统间接的调用硬件资源。 程序就是一个指令的集合,静态存储于硬盘等类似存储中,操作系统在执行程序时,程序就会被载入到内存中,产生一个独立的实例,就是进程

线程(thread):操作系统的最小调度单元

一个 CPU 同时只能执行一个线程的任务,随着 CPU 核数的增加,为了让多个核心同时为我们工作,并行的执行任务,发挥 CPU 的最大能力,每个进程可以创建多个线程, 同一个进程中的线程可以共享同一内存空间,以及其中的资源,这就产生了同步问题。

端口

一个 IP 对应一台屋里机器,对应一张网卡,网卡负责和网络进行数据包交互, 一台计算机上运行着多个程序,外界发来的数据包网卡不知道该由哪个应该程序来处理, 所以网卡要求每个想要今天外部请求的程序都自己申请一个端口号,为了安全每个端口只能被一个应用程序监听。 端口是计算机对外通信的出口,将接收到的数据包给到指定程序处理,进程和线程可以同时监听多个端口。

TODO:前台任务&后台任务

TODO:nohup

进程查看命令ps aux | ps -le

  • 选项a:显示终端所有进程
  • 选项u:显示进程的归属用户及内存使用情况
  • 选项x:显示没有控制终端的进行
  • 选项-l:长格式显示
  • 选项-e:显示所有进程

ps aux字段

  • USER:进程产生用户
  • PID:进程 ID
  • %CPU:CPU 使用占比
  • %MEM:内存使用占比
  • VSZ:虚拟内存占用量
  • RSS:真实内存占用量
  • TTY:进程产生的终端,tty1-tty 代表本地字符界面终端,tty7 代表本地图形终端。pst/0-255 虚拟终端
  • STAT:进程状态
    • S:休眠 sleep
    • R:运行
  • START:进程启动时间
  • TIME:进程耗费时间
  • COMMAND:进程名字

ps -le字段

TYPE2: ps -le:显示优先级

UID   PID  PPID        F CPU PRI NI       SZ    RSS WCHAN     S             ADDR TTY           TIME CMD
  0     1     0     4004   0  37  0  4328532  12048 -      Ss                  0 ??        15:37.20 /sbin/launchd
  0    49     1     4004   0   4  0  4306056   1528 -      Ss                  0 ??         0:47.93 /usr/sbin/syslogd
  0    50     1     4004   0  37  0  4338256   5544 -      Ss                  0 ??         0:38.60 /usr/libexec/UserEventAgent (System)

TYPE3: pstree:显示进程树

系统健康状态查询: top

  • 选项:
    • -d:刷新间隔默认 3 秒
    • -b:执行批处理
    • -n:指定执行次数
  • 交互命令(top 运行过程中输入命令)
    • ?h:显示帮助
    • P:按 CPU 使用率拍下
    • M:按内存使用率拍下
    • N:按 PID 排序
    • q:退出
top - 15:57:05 up 9 days,  4:14,  0 users,  load average: 0.51, 0.46, 0.47
Tasks:   6 total,   1 running,   5 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 13164624+total,  6679208 free, 66288276 used, 58678760 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 64331924 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
   159 root      20   0  736088  31296  14916 S   0.3  0.0   0:04.41 npm
     1 mqq       20   0  115376   1928   1548 S   0.0  0.0   0:00.01 bash
   109 mqq       20   0  115392   2192   1708 S   0.0  0.0   0:00.03 bash
   143 root      20   0  614824  32860  14316 S   0.0  0.0   0:01.42 PM2 v3.5.0: God
   179 root      20   0  561828  25028  13840 S   0.0  0.0   0:00.14 node
   385 mqq       20   0  157568   2128   1536 R   0.0  0.0   0:00.30 top

结束进程

  • kill pid:按进程号杀死
    • -1:重启进程
    • -9:强制杀死进程
  • killall name:按进程名杀死

results matching ""

    No results matching ""