当前位置:首页>Linux>Linux进程大白话讲解

Linux进程大白话讲解

  • 2026-02-27 03:06:19
Linux进程大白话讲解
Linux进程学懵了?万字长文用“大白话”讲,小白看了也能懂!
大家好!今天咱们来聊聊 Linux 进程。很多人一听到“进程”两个字就头大,感觉这是操作系统里最抽象、最难懂的概念。其实,进程一点也不神秘,它就在你每次敲命令、每次打开软件的时候发生。我尽量用大白话,加上生活中的例子,帮你把进程这层窗户纸捅破。哪怕你是刚接触 Linux 的小白,看完这篇也能跟别人侃侃而谈进程是咋回事。

1. Linux进程基础:程序是菜谱,进程是做菜的过程

首先,我们要搞清楚一个最基础的问题:什么是进程?
你可能会听过“程序”和“进程”这两个词。它们有什么区别呢?我打个比方:
程序
:就是一个放在硬盘上的文件,比如你下载的安装包、编译好的可执行文件。它就像一本菜谱,安安静静地躺在书架上,什么都没干。
进程
:当你把菜谱拿出来,开始洗菜、切菜、开火、翻炒,直到菜出锅,这一整套正在进行的活动就是进程。程序是死的,进程是活的。
在 Linux 里,每次你执行一个命令、启动一个软件,系统就会创建一个对应的进程。进程有自己独立的身份证号(PID,Process ID),有自己的“内存空间”、“打开的文件”、“寄存器的值”等等。操作系统通过调度这些进程,让它们轮流使用 CPU,看起来就像很多程序同时在运行一样。
每个进程都有一个爸爸,叫父进程。除了系统启动后的第一个进程(后面会讲),其他进程都是由某个进程“生”出来的。用 Linux 命令 pstree 看看,你会发现进程像一棵倒挂的树,从根(init 或 systemd)开始,分叉出各种子进程。

2. Linux上的进程初始化:一切从哪里开始?

Linux 系统启动后,内核加载完毕,会启动第一个用户空间的进程。这个进程是所有进程的祖先,它的 PID 永远是 1。
在传统的 SysV init 系统中,这个进程叫init。现在大多数 Linux 发行版用的是systemd,它也是 PID 1。systemd 负责挂载文件系统、启动各种服务(比如网络、SSH、图形界面),然后进入等待状态。之后你登录系统,敲命令,这些命令产生的进程都是 systemd 的后代。
你可以用 ps -p 1 看看你的 PID 1 是谁:
text
$ ps -p 1
PID TTYTIME CMD
1 ?00:00:03 systemd
没错,就是 systemd。它就像是Linux 进程世界的“老祖宗”,所有的进程都源自它。

3. 使用fork和exec创建进程:分身术与变身术

现在问题来了:进程是怎么创建出来的?Linux 提供了两个非常重要的系统调用:fork() 和 exec()。这两个东西是理解进程创建的核心。

3.1 fork:克隆一个自己

想象一下孙悟空,拔一根毫毛,吹一口气,变出另一个一模一样的孙悟空。fork() 就是干这个的。当进程调用 fork() 时,内核会创建一个几乎完全相同的副本(子进程)。子进程会复制父进程的内存、打开的文件、环境变量等等。它们俩从 fork() 返回的地方继续往下执行,只不过返回值不同:在父进程中,fork() 返回子进程的 PID;在子进程中,fork() 返回 0。这样程序就能根据返回值区分自己是爸爸还是儿子。

3.2 exec:改头换面,变成另一个程序

fork()复制出来的子进程和父进程干同样的事,这往往不是我们想要的。我们想要的是子进程去干点别的,比如执行 ls 命令。这时候就需要 exec() 家族登场了。
exec()的作用是:把当前进程的内存内容完全替换成另一个程序的代码和数据。执行 exec() 之后,进程就摇身一变,成了一个全新的程序。比如,子进程调用 exec() 加载 /bin/ls,它就不再是原来那个进程的副本,而是变成了 ls 命令的进程。
通常的创建进程流程就是:
父进程调用 fork() 创建一个子进程。
子进程调用 exec() 加载新的程序。
父进程可以继续做自己的事,或者用 wait() 等待子进程结束。
这个过程你每天都在经历,只是你不知道而已。

4. 在shell环境中创建进程:你敲命令时发生了什么?

你在终端里敲一个命令,比如 ls -l,然后回车,shell 是怎么工作的?其实就是上面说的 fork + exec。
shell 也是一个进程
,比如 bash。它在等待你的输入。
当你输入 ls -l 并回车,shell 会调用 fork() 创建一个子进程(一个和自己几乎一样的     bash 副本)。
这个子进程立即调用 exec(),把 ls 这个程序加载进来,变成 ls 进程,执行你的命令。
与此同时,父进程(原来的 bash)会调用 wait() 等待子进程结束。等 ls 执行完,子进程退出,父进程继续显示提示符,等待下一条命令。
这个模型也解释了为什么你在命令行执行一个程序时,shell 会“卡住”直到程序结束(前台进程)。后面我们会讲怎么让它不卡住(后台运行)。

5. 查看linux上正在运行的进程:ps命令

想知道系统里有哪些进程在跑?最常用的命令是 ps(process status)。它就像给进程拍快照,显示某一时刻的进程状态。
ps有很多选项,老派Unix 风格和 BSD 风格混着用。最经典的是 ps aux:
bash
$ ps aux
USERPID %CPU %MEMVSZRSS TTYSTAT STARTTIME COMMAND
root10.00.3 169124 11532 ?SsFeb180:03 /sbin/init splash
root20.00.000 ?SFeb180:00 [kthreadd]
...
vagrant12340.00.256789 7890 pts/0Ss10:000:00 -bash
vagrant56780.00.112345 2345 pts/0R+10:050:00 ps aux
我来解释一下这些字段:
USER
:进程属于哪个用户。
PID
:进程 ID。
%CPU
:CPU 占用百分比。
%MEM
:内存占用百分比。
VSZ
:虚拟内存大小(KB)。
RSS
:常驻物理内存大小(KB)。
TTY
:进程关联的终端(? 表示没有终端,通常是后台服务)。
STAT
:进程状态(R 运行,S 睡眠,D 不可中断睡眠,T     暂停,Z 僵尸等)。
START
:启动时间。
TIME
:累计占用 CPU 的时间。
COMMAND
:命令名。
另一个常用的是 ps -ef(System V 风格),输出略有不同。想只看某个用户的进程,可以用 ps -u username。

6. 后台和前台进程:一个终端干多件事

默认情况下,你在终端执行的命令会占用这个终端,直到命令结束。这就是前台进程。如果你想让命令在后台默默运行,解放终端继续干别的,可以在命令末尾加上 & 符号。
例如:
bash
$ sleep 1000 &
[1] 12345
这会在后台运行一个睡眠 1000 秒的进程。shell 会返回一个作业号 [1] 和 PID 12345。现在你可以继续输入其他命令。
后台进程依然把输出打印到终端(除非重定向),可能会干扰你敲命令。所以最好把输出重定向到文件。
你可以用 jobs 命令查看当前终端启动的后台作业:
bash
$ jobs
[1]+Runningsleep 1000 &

7. 聊聊JOB:作业是什么?

作业(job)是 shell 的概念,指一个或多个进程组成的任务。比如你执行 ls -l | grep txt,这涉及两个进程(ls 和 grep),但它们属于同一个作业。
当你用 & 把一个命令丢到后台,shell 会给它分配一个作业号(如 1, 2, 3),并显示在方括号里。作业号只在当前 shell 会话中有意义,而 PID 是整个系统全局的。
作业控制可以让你在前后台之间切换、暂停、恢复进程。常用的作业控制命令有 fg、bg 和 jobs,还有快捷键 Ctrl+Z。

8. 使用bg和fg命令:把作业放前台或后台

8.1 Ctrl+Z:暂停一个前台作业

假设你正在前台运行一个耗时的命令,比如 find / -name "*.txt",突然想暂停它去干别的。按下 Ctrl+Z,进程会被暂停(收到 SIGTSTP 信号),shell 会显示类似:
text
[1]+Stoppedfind / -name "*.txt"
这个作业现在处于“暂停”状态,它没有在运行,但还活着。

8.2 bg:让暂停的作业在后台继续运行

如果你想让它继续运行,但又不想占用前台,可以用 bg 命令:
bash
$ bg %1
[1]+ find / -name "*.txt" &
%1是作业号(也可以省略作业号,默认最近一个被暂停的作业)。现在这个 find 就在后台运行了。

8.3 fg:把后台作业调到前台

想把后台或暂停的作业拿回前台,用 fg:
bash
$ fg %1
这样它就会占据终端,你可以再次用 Ctrl+Z 暂停它。

8.4 kill 作业

你也可以用 kill %1 来终止一个作业(本质是给进程发信号)。
注意:作业号只在当前 shell 有效。如果你关闭终端,后台作业可能会被挂断(除非你用了 nohup 或 disown)。

9. 使用信号与进程交互:温柔的提醒和强硬的终止

信号(signal)是 Linux 进程间通信的一种简单方式,可以理解为操作系统发给进程的“通知”。进程收到信号后,可以执行默认操作(如终止、暂停),或者忽略它,或者自定义处理。
最常用的信号是 SIGTERM(15)和 SIGKILL(9)。你通过 kill 命令发送信号,比如:
bash
$ kill 12345#默认发送SIGTERM,请求进程自行退出
$ kill -9 12345#发送SIGKILL,强制杀死进程
SIGTERM是礼貌的终止请求,进程可以捕捉并做清理工作(比如保存文件)。SIGKILL 是强制性的,进程无法捕捉、无法忽略,会立刻被内核干掉,可能导致数据丢失,谨慎使用。
其他常用信号:
SIGHUP
(1):挂断信号,通常终端关闭时发给会话首进程,很多守护进程会重读配置文件。
SIGINT
(2):中断信号,对应 Ctrl+C。
SIGQUIT
(3):退出信号,对应 Ctrl+\,会生成 core dump。
SIGSTOP
(19):暂停进程,对应 Ctrl+Z(实际上 Ctrl+Z 发的是 SIGTSTP,与 SIGSTOP 类似但可被捕捉)。
SIGCONT
(18):让暂停的进程继续运行。
你可以用 kill -l 查看所有信号列表。

10. 信号类别说明

为了让你对信号有个更系统的了解,这里列出一些最常见的信号及其默认行为(数字是信号编号):

信号

编号

产生原因

默认行为

SIGHUP

1

终端挂断或控制进程终止

终止

SIGINT

2

键盘中断(Ctrl+C

终止

SIGQUIT

3

键盘退出(Ctrl+\

终止+core dump

SIGKILL

9

强制杀死(无法捕获)

终止

SIGTERM

15

终止进程(默认 kill 发这个)

终止

SIGSTOP

19

暂停进程(无法捕获)

暂停

SIGTSTP

20

键盘暂停(Ctrl+Z

暂停

SIGCONT

18

继续运行暂停的进程

继续

SIGCHLD

17

子进程终止或停止时发给父进程

忽略

SIGUSR1

10

用户自定义信号1

终止

SIGUSR2

12

用户自定义信号2

终止

记住:9 号信号 SIGKILL 是终极手段,15 号 SIGTERM 是常规手段。

11. 进程状态:进程在干什么?

前面 ps 命令的输出里有个 STAT 列,显示了进程的当前状态。常见的状态字符有:
R (Running)
:正在运行或在运行队列中等待运行。注意,R 状态不代表它此刻正在 CPU 上跑,而是说它已经准备好,随时可以调度执行。
S (Sleeping)
:可中断睡眠。进程在等待某个事件(如 I/O 完成、定时器超时),可以被信号唤醒。
D (Uninterruptible Sleep)
:不可中断睡眠。通常是在等待 I/O(比如磁盘读写),期间不会响应任何信号。这种状态是为了保护数据一致性,但如果卡住,进程就很难杀掉,只能重启系统。
T (Stopped)
:暂停状态。通常由 Ctrl+Z 或 SIGSTOP 信号导致。
Z (Zombie)
:僵尸状态。子进程已经退出,但父进程还没有用 wait() 读取它的退出状态,导致进程描述符仍然保留。少量僵尸是正常的,如果大量出现,可能是父进程有 bug。
X (Dead)
:彻底死亡,基本看不到。
还有一些附加标志,如 < 表示高优先级,N 表示低优先级,s 表示会话首进程,+ 表示前台进程组等。
用 ps aux 可以看到每个进程的状态。如果看到很多僵尸,可以用 ps aux | grep Z 找出僵尸的父进程,然后修复或重启父进程。

12. 使用pgrep和pkill操作进程:按名字搜索和杀进程

用 ps 找进程再 kill 有点麻烦,尤其当你知道进程名字的时候。Linux 提供了 pgrep 和 pkill,让你可以直接用名字操作。

13. 使用pgrep查找进程

pgrep通过进程名或其他属性查找 PID。用法:
bash
$ pgrep sshd
1234
5678
它会返回所有名字匹配 sshd 的进程 PID。你也可以用 -u 指定用户,-l 显示进程名和 PID:
bash
$ pgrep -u root -l sshd
1234 sshd
5678 sshd
支持正则表达式,比如 pgrep '^bash

14. 使用pkill终止进程

pkill和 pgrep 类似,但直接发送信号(默认 SIGTERM)给匹配的进程。例如,杀死所有 nginx 进程:
bash 只匹配 bash。

14. 使用pkill终止进程

pkill和 pgrep 类似,但直接发送信号(默认 SIGTERM)给匹配的进程。例如,杀死所有 nginx 进程: bash
$ pkill nginx
如果不想误杀,可以用 pkill -l 列出会匹配的进程(类似 pgrep),确认后再执行。
也可以用 pkill -9 强制杀死。注意:pkill 匹配的是进程名,可能会误杀同名进程,所以最好用 -f 匹配完整命令行,或者用 -u 限定用户。

15. 使用nice和renice调整进程优先级

Linux 是多任务系统,CPU 资源是分时共享的。每个进程都有一个优先级,决定它能分配到多少 CPU 时间。这个优先级由nice值影响。
nice 值的范围通常是 -20 到 19。值越低,优先级越高(越不 nice,抢 CPU 越厉害);值越高,优先级越低(越 nice,越谦让)。默认 nice 值是 0。

15.1 用 nice 启动一个低优先级进程

bash
$ nice -n 10 ./long_task &
这会以 nice 值 10 运行 long_task,让它变得“谦让”。

15.2 用 renice 调整运行中进程的优先级

假设你发现某个进程占 CPU 太多,想降低它的优先级:
bash
$ renice -n 15 -p 12345
12345是进程 PID。你也可以用 -u 调整某个用户的所有进程。
注意:普通用户只能调高自己的 nice 值(降低优先级),不能调低(提升优先级)。要调低需要 root 权限。

16. 监控linux上的进程

静态的 ps 看瞬间快照,如果想实时观察进程资源占用,就需要动态监控工具。最经典的是 top,更漂亮的是 htop。

16.1 在linux上使用top

直接输入 top,你会看到一个刷新的列表,默认按 CPU 使用率排序。top 界面分为两部分:
顶部统计区:系统负载、任务数、CPU 状态、内存使用等。
下方进程列表:类似 ps,但会不断刷新。
常用交互命令(按对应字母):
P
:按 CPU 排序。
M
:按内存排序。
k
:杀死进程(会提示输入 PID 和信号)。
r
:调整 nice 值。
q
:退出。

16.2 在linux上使用htop

htop是 top 的增强版,界面更友好,支持鼠标操作,可以滚动进程列表,树形显示,而且默认彩色。需要安装(sudo apt install htop 或 yum install htop)。
在 htop 里,你可以直接用 F 键排序,F9 发送信号,F5 显示树状结构。它还显示每个 CPU 的使用情况,非常直观。
监控工具能帮你快速定位哪个进程在消耗资源,是系统调优和排错的利器。

总结:进程其实没那么可怕

现在我们回顾一下,进程就是“运行中的程序”。它由系统调用 fork 和 exec 创建,有自己独立的 PID 和状态。我们可以用 ps、top、htop 查看它们,用 kill、pkill 发送信号控制它们,用 jobs、fg、bg 在终端里切换前后台,用 nice、renice 调整优先级。
其实 Linux 进程的奥秘,说到底就是这些基础概念的组合。当你每天敲命令、启动程序的时候,不知不觉都在和进程打交道。多动手实践,多用 man 查看命令手册,你会发现进程世界并不神秘,反而很有趣。
希望这篇“大白话”文章能帮你理清思路,从此不再被进程搞懵。如果有哪里不清楚,欢迎在评论区留言讨论!
#linux进程
#系统运维

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-28 14:33:02 HTTP/2.0 GET : https://f.mffb.com.cn/a/476198.html
  2. 运行时间 : 0.137583s [ 吞吐率:7.27req/s ] 内存消耗:4,693.46kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=75b9dcb3b54851a59c191596c3eecd7b
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000353s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000651s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.005245s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.001422s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000534s ]
  6. SELECT * FROM `set` [ RunTime:0.000357s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000583s ]
  8. SELECT * FROM `article` WHERE `id` = 476198 LIMIT 1 [ RunTime:0.005849s ]
  9. UPDATE `article` SET `lasttime` = 1772260382 WHERE `id` = 476198 [ RunTime:0.006095s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.001195s ]
  11. SELECT * FROM `article` WHERE `id` < 476198 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.014249s ]
  12. SELECT * FROM `article` WHERE `id` > 476198 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001848s ]
  13. SELECT * FROM `article` WHERE `id` < 476198 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001700s ]
  14. SELECT * FROM `article` WHERE `id` < 476198 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001018s ]
  15. SELECT * FROM `article` WHERE `id` < 476198 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000868s ]
0.140042s