Linux命令:ps命令

目录

  • 1 ps命令
    • 1.1 简介
    • 1.2 说明
      • 1、选项:
      • 2、输出格式控制:
      • 3、输出修饰符:
      • 4、显示线程:
      • 5、进程状态码:
      • 6、AIX 格式描述符
      • 7、标准格式指定符
    • 1.3 实例
      • 1、默认输出
      • 2、使用标准语法查看系统上的每个进程
      • 3、使用BSD语法查看系统上的每个进程
      • 4、输出进程树
      • 5、获取线程信息
      • 7、获取安全信息
      • 8、以root(真实有效的ID)身份查看每个进程运行
      • 9、以定义的格式查看每个进程
      • 10、只打印syslogd的进程id
      • 11、只打印PID为10的命令名称
  • 总结

1 ps命令

1.1 简介

ps 命令是 Linux 和其他类 Unix 系统中用于查看当前运行的进程的强大工具。ps 代表 “process status”。
ps 用于显示当前活动进程信息的命令行工具。如果想要周期性更新所选进程及其显示的信息时,可以使用 top 命令代替。
这个版本的 ps 命令接受几种不同类型的选项:

  • 1.UNIX 选项:这些选项可以分组,并且必须以前缀短横线 - 开头。
  • 2.BSD 选项:这些选项也可以分组,但不需要使用短横线 -。
  • 3.GNU 长选项:这些选项以两个短横线 – 开头。

不同类型的选项可以自由混合使用,但可能会出现冲突。由于 ps 命令需要与许多标准和实现兼容,因此存在一些功能相同但名称不同的同义词选项。

请注意,ps -aux 和 ps aux 是不同的。POSIX 和 UNIX 标准要求 ps -aux 显示名为 x 的用户拥有的所有进程,以及由 -a 选项选择的所有进程。如果名为 x 的用户不存在,这个 ps 版本可能会将其解释为 ps aux 并发出警告。这种行为旨在帮助过渡旧脚本和习惯,但它很脆弱,可能会发生变化,因此不应依赖它。

默认情况下,ps 选择与当前用户具有相同有效用户 ID(euid=EUID)并且与调用者关联到同一终端的所有进程。它显示进程 ID(pid=PID)、与进程关联的终端(tname=TTY)、以 [DD-]hh:mm:ss 格式表示的累计 CPU 时间(time=TIME),以及可执行文件名(ucmd=CMD)。默认情况下,输出不排序。

ps命令通过读取/proc目录中的虚拟文件来工作

1.2 说明

使用:ps [options]

1、选项:

  • a:显示所有终端的进程,包括其他用户的进程
  • -A:选择所有进程,同-e选项
  • -a:选择所有进程,除了会话领导者(参见 getsid(2))以及未与终端关联的进程。
  • -d:选择所有进程,除了会话领导者
  • –deselect:选择所有进程,除了那些满足指定条件的进程(否定选择)。与 -N 相同。
  • -e:选择所有进程,同 -A
  • -N:选择所有进程,除了那些满足指定条件的进程(否定选择)。与 --deselect 相同
  • T:选择与此终端关联的所有进程
  • r:只选择正在运行的进程
  • x:显示没有控制终端的进程
  • -C:等同于 C,根据命令名筛选进程
  • -G grplist:根据真实组ID(RGID)或名称选择。
  • -g grplist:根据会话或通过有效组名选择。组ID号仅在同时指定了一些组名时才会起作用。
  • –Group grplist:根据真实组ID(RGID)或名称选择。与-G相同。
  • –group grplist:根据有效组ID(EGID)或名称选择。-g选项通常是–group的替代选项。
  • p pidlist:按进程ID选择。与-p和–pid相同。
  • -p pidlist:按PID选择。这会选择进程ID号出现在pidlist中的进程。与p和–pid相同。
  • –pid pidlist:按进程ID选择。与-p和p相同。
  • –ppid pidlist:按父进程ID选择。
  • –quick-pid pidlist:按进程ID选择,同 -q 和 q
  • -s sesslist:按会话id选择,同 --sid
  • t ttylist:按终端选择,同 -t 和 --t
  • U userlist:按有效用户名称或用户ID(EUID)选择,同 -u,–user
  • -U userlist:按真实用户ID(RID)或者名称选择。同 -U, --User

2、输出格式控制:

  • -c:同-l,显示不同调度器的信息
  • –context:显示安全上下文格式(用于SELinux)
  • -f:打印完整格式列表
  • -F:额外完整格式
  • –format format:用户自定义,同 -o , o
  • j:BSD作业控制格式
  • -j:作业格式
  • l:显示BSD长格式
  • -l:长格式
  • -M:添加一列安全数据,同Z
  • o format:指定用户自定义格式。与-o和–format相同。
  • O format:该选项预加载了o(重载)。BSD的O选项可以像-O一样工作(用户自定义输出格式,其中一些常用字段已预定义),或者可以用来指定排序顺序。程序会采用启发式方法来确定这个选项的行为。为了确保获得期望的行为(排序或格式化),请以其他方式指定该选项(例如,使用-O或–sort)。当用作格式化选项时,它与-O相同,具有BSD的特性。
  • -O format:类似于-o,但预加载了一些默认列。与-o pid,format,state,tname,time,command或-o pid,format,tname,time,cmd相同
  • s:显示信号格式
  • u:显示面向用户的格式
  • v:显示虚拟内存格式
  • -y:不显示标志,只能与 -l 选项同时使用
    • 进程标志:
      • 1 表示进程已经fork(创建子进程)但尚未执行exec(加载新程序)。
      • 4 表示进程使用了超级用户权限。

3、输出修饰符:

  • c :显示真实的命令名
  • –cumulative:包含一些已终止子进程的数据(作为父进程的总和)。
  • -e:在命令之后显示环境变量
  • -f:以ASCII艺术形式显示进程层次结构(树状图)
  • -h:不显示标题
  • -H:显示进程层次结构(树状图)。
  • –headers:重复标题行,每页输出一个标题。
  • k spec:指定排序顺序。排序语法是 [+|-]key[,[+|-]key[,…]]。从“标准格式说明符”部分中选择一个多字母的键。加号(+)是可选的,因为默认方向是递增的数值或字典顺序。这与 --sort 相同。
  • –no-headers:所有标题行都不显示

4、显示线程:

  • H 将线程视为进程进行显示
  • -L 显示线程,可能包含LWP(轻量级进程)和NLWP列。
  • m 在进程之后显示线程。
  • -m 在进程之后显示线程。
  • -T 显示线程,可能包含SPID列(线程ID)。

5、进程状态码:

  • T 表示进程被作业控制信号停止。
  • t 表示进程在跟踪过程中被调试器停止。
  • W 表示分页(从2.6.xx内核开始不再有效)。
  • X 表示进程已死(不应该看到)。
  • Z 表示已终止但未被其父进程回收的僵尸进程。
  • 对于BSD格式以及使用stat关键字时,可能会显示额外的字符:
    • < 表示高优先级(对其他用户不友好)。
    • N 表示低优先级(对其他用户友好)。
    • L 表示有页面被锁定在内存中(用于实时和自定义IO)。
    • s 表示是会话领导者。
    • l 表示是多线程的(使用CLONE_THREAD,如NPTL pthreads那样)

6、AIX 格式描述符

AIX 格式描述符:ps命令支持AIX格式描述符。例如,可以使用以下命令生成正常的默认输出:ps -eo “%p %y %x %c”

  • %C pcpu %CPU
  • %G group GROUP
  • %P ppid PPID
  • %U user USER
  • %a args COMMAND
  • %c comm COMMAND
  • %g rgroup RGROUP
  • %n nice NI
  • %p pid PID
  • %r pgid PGID
  • %t etime ELAPSED
  • %u ruser RUSER
  • %x time TIME
  • %y tty TTY
  • %z vsz VSZ

7、标准格式指定符

标准格式指定符:可以用来控制输出格式(例如,通过选项-o)或按照GNU风格的–sort选项对所选进程进行排序的不同关键字。也可以理解为输出的标题行。例如:ps -eo pid,user,args --sort user。

  • %cpu %CPU:进程使用的CPU时间除以进程运行的时间(CPU时间/实际时间比率),以百分比表示。除非恰巧所有进程都正好使用了它们的CPU时间,否则它们的总和将不会达到100%。(别名pcpu)。
    • CPU利用率则反映了进程在CPU上执行的时间占比,是评估进程性能的重要指标之一。
  • %mem %MEM:表示进程的驻留集大小(RSS)与机器上物理内存的比率,以百分比表示。(别名pmem)
    • 这里的驻留集大小(Resident Set Size,RSS)是指进程当前在物理内存中占用的空间大小,不包括交换出去的部分。这个指标可以用来评估进程对物理内存的占用情况
  • args COMMAND:显示的是进程及其所有参数组成的字符串。这个字符串可能包含对参数的修改。这一列的输出中可能包含空格。被标记为的进程是部分死亡的,正在等待其父进程来完全销毁它
  • bsdstart START:命令开始执行的时间。如果进程在24小时内启动,输出格式为“HH:MM”,否则格式为“Mmm:SS”(其中Mmm为月份的三个字母缩写)
  • start_time START:进程开始的时间或日期
  • stime STIME:stime别名start_time,参考上面即可
  • bsdtime TIME:累积的CPU时间,包括用户时间和系统时间。显示格式通常为“MMM:SS”,但如果进程使用的CPU时间超过999分钟,则显示会向右偏移。
  • c C:处理器利用率。目前,这是进程在其生命周期内的使用百分比的整数值。(与%cpu类似,但显示格式和计算方式可能有所不同)
  • comm COMMAND:命令名(command name)列仅显示可执行文件的名称。对命令名所做的修改不会在这一列中显示。
  • euid EUID:有效用户id,别名 uid
  • euser EUSER:有效用户名
  • exe EXE:执行程序的路径。
  • f F:进程tag
  • ni NI / nice NI: 进程的动态优先级,也称为“nice值”的调整。与 PRI 相同,NI 值越低,进程的优先级越高。不过,NI 是一个相对值,它是基于系统默认优先级(通常是 0)的调整。例如,如果一个进程的 NI 值是 5,那么它比默认优先级的进程获得更少的 CPU 时间。可以通过 renice 命令来调整进程的 NI 值
  • nwchan WCHAN:内核函数地址列显示的是进程正在休眠的内核函数的地址
  • pid PID:进程ID
  • pgid PGID:进程组ID
  • ppid PPID:父进程ID
  • pri PRI:进程的静态优先级,也称为“nice值”。这个值决定了进程在系统中的重要性,影响着操作系统分配给进程的 CPU 时间量。PRI 的值越低,表示进程的优先级越高,它将获得更多的 CPU 时间。通常,PRI 值的范围是从 -20(最高优先级)到 19(最低优先级),其中 0 是默认值。
  • rgid RGID:真实组ID
  • rgroup RGROUP:真实组名
  • rss RSS:RSS(Resident Set Size,常驻内存集)是Linux中用来表示进程实际使用的物理内存大小的一个指标,单位是千字节(KB)。它包括了进程代码、数据、堆栈以及共享库等所有实际加载到RAM中的内存内容。
  • ruid RUID:真实用户ID
  • ruser RUSER:真实用户名
  • sess SESS:session ID,同SID
  • tpgid TPGID:进程所连接的终端(tty)上的前台进程组的ID,或者如果进程没有连接到tty,则为-1。
  • s S:进程状态,以下是常见的状态
  • R (Running or Runnable): 进程正在运行或在运行队列中等待运行。这并不意味着进程一定在执行代码,它也可能在等待某些资源变得可用。
  • S (Sleeping): 进程处于休眠状态,等待某个条件或事件满足。这是一个可中断的睡眠状态,当等待的事件发生时,进程可以被唤醒。
  • D (Disk Sleep): 进程处于不可中断的磁盘睡眠状态,通常是因为它正在进行I/O操作,如读写磁盘。在这种状态下,进程不能被其他信号或中断唤醒。
  • T (Stopped): 进程已被停止。这通常是因为它收到了如SIGSTOP这样的信号。
  • Z (Zombie): 进程已终止,但其父进程尚未读取其退出状态。这样的进程被称为僵尸进程,它不再执行任何代码,但其在进程表中的条目仍然存在。
  • stat STAT:进程状态
  • tname TTY:控制终端
  • vsz VSZ:进程使用的虚拟内存(默认是KB)
  • sz SZ:进程的核心镜像在物理内存也的大小,包括文本、数据和栈空间
  • psr PSR:进程当前所属的处理器
  • wchan WCHAN:进程正在睡眠的内核函数名称,如果是正在运行的进程则显示为“-”,或者如果进程是多线程的且 ps 命令没有显示线程信息,则显示为“*”
  • pending PENDING:待处理信号的掩码
  • blocked BLOCKED:阻塞信号的掩码
  • ignored IGNORED:忽略信号的掩码
  • caught CAUGHT:捕获信号的掩码
  • lwp LWP:轻量级进程(线程)ID
  • nlwp NLWP:进程中的轻量级进程(线程)数量。
  • label LABEL:安全标签,通常用于SELinux上下文数据

1.3 实例

1、默认输出

root@con02:~# psPID TTY          TIME CMD7352 pts/3    00:00:00 sudo7353 pts/3    00:00:00 bash8866 pts/3    00:00:00 tail22376 pts/3    00:00:00 ps## 输出所有用户的进程
root@con02:~# ps aPID TTY      STAT   TIME COMMAND944 tty1     Ss+    0:00 /sbin/agetty -o -p -- \u --noclear tty1 linux7312 pts/2    Ss     0:00 -bash7351 pts/2    S+     0:00 sudo -i7352 pts/3    Ss     0:00 sudo -i7353 pts/3    S      0:00 -bash8866 pts/3    T      0:00 tail -fn99 /var/log/syslog22377 pts/3    R+     0:00 ps a
###### 参数解释:
PID:进程ID
TTY:使用终端
STAT:进程状态
TIME:进程实际使用CPU的时间
COMMAND:启动进程的命令行

2、使用标准语法查看系统上的每个进程

ps -e
#####
PID TTY          TIME CMD1 ?        00:00:29 systemdps -ef
######
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 Mar19 ?        00:00:29 /sbin/init
### 参数解释
UID:用户ID
PID:进程ID
PPID:父进程ID
C:处理器利用率,与%CPU类似
STIME:进程开始时间
TTY:终端
TIME:进程实际使用CPU的时间
CMD:启动进程的命令名称或命令行ps -eF
#######
UID          PID    PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root           1       0  0 41960 10644   0 Mar19 ?        00:00:29 /sbin/init
root           2       0  0     0     0   0 Mar19 ?        00:00:00 [kthreadd]
#### 参数解释:
SZ:进程的核心镜像在物理内存页的大小
RSS:进程实际使用的物理内存大小
PSR:进程当前所属的处理器ps -ely
####### 
S   UID     PID    PPID  C PRI  NI   RSS    SZ WCHAN  TTY          TIME CMD
S     0       1       0  0  80   0 10644 41960 ep_pol ?        00:00:29 systemd
S     0       2       0  0  80   0     0     0 kthrea ?        00:00:00 kthreadd
I     0       3       2  0  60 -20     0     0 rescue ?        00:00:00 rcu_gp
##### 参数解释
S:进程状态
PRI:进程静态优先级,是进程的初始优先级,通常在创建进程时设置
NI:进程动态优先级,是进程当前的优先级调整值,它是基于 PRI 的相对值
SZ:进程的核心镜像在物理内存页的大小
WCHAN:进程正在睡眠的内核函数名称,如果是正在运行的进程则显示为“-”,或者如果进程是多线程的且 ps 命令没有显示线程信息,则显示为“*”

3、使用BSD语法查看系统上的每个进程

ps ax
#######PID TTY      STAT   TIME COMMAND1 ?        Ss     0:29 /sbin/init2 ?        S      0:00 [kthreadd]ps axu
##### 
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.3 167840 10644 ?        Ss   Mar19   0:29 /sbin/init
####参数解释:
VSZ:进程使用的虚拟内存
RSS:进程实际使用的物理内存大小
START:进程开始的时间或日期

4、输出进程树

ps -ejH
######PID    PGID     SID TTY          TIME CMD2       0       0 ?        00:00:00 kthreadd3       0       0 ?        00:00:00   rcu_gp4       0       0 ?        00:00:00   rcu_par_gpps axjf
#######PPID     PID    PGID     SID TTY        TPGID STAT   UID   TIME COMMAND0       2       0       0 ?             -1 S        0   0:00 [kthreadd]2       3       0       0 ?             -1 I<       0   0:00  \_ [rcu_gp]2       4       0       0 ?             -1 I<       0   0:00  \_ [rcu_par_gp]
###参数解释
PGID:进程组ID
SID:session ID
TPGID:进程所连接的终端(tty)上的前台进程组的ID

5、获取线程信息

ps -eLf
######
UID          PID    PPID     LWP  C NLWP STIME TTY          TIME CMD
root           1       0       1  0    1 Mar19 ?        00:00:29 /sbin/init
root           2       0       2  0    1 Mar19 ?        00:00:00 [kthreadd]
## 参数解释
LWP:轻量级进程(线程)ID
NLWP:进程中的轻量级进程(线程)数量ps axms    
#######UID     PID          PENDING          BLOCKED          IGNORED           CAUGHT STAT TTY        TIME COMMAND0       1 0000000000000000                -                -                - -    ?          0:29 /sbin/init
## 参数解释
PENDING:待处理信号的掩码
BLOCKED:阻塞信号的掩码
IGNORED:忽略信号的掩码
CAUGHT:捕获信号的掩码

7、获取安全信息

ps -eo euser,ruser,suser,fuser,f,comm,label
######
EUSER    RUSER    SUSER    FUSER    F COMMAND         LABEL
root     root     root     root     4 systemd         unconfined
root     root     root     root     1 kthreadd        unconfinedps axZ
########
LABEL                               PID TTY      STAT   TIME COMMAND
unconfined                            1 ?        Ss     0:29 /sbin/init
unconfined                            2 ?        S      0:00 [kthreadd]
unconfined                            3 ?        I<     0:00 [rcu_gp]
## 参数解释:
LABEL:安全标签,通常用于SELinux上下文数据ps -eM
######
LABEL                               PID TTY          TIME CMD
unconfined                            1 ?        00:00:29 systemd
unconfined                            2 ?        00:00:00 kthreadd

8、以root(真实有效的ID)身份查看每个进程运行

ps -U root -u root u
#######
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.3 167840 10644 ?        Ss   Mar19   0:29 /sbin/init
root           2  0.0  0.0      0     0 ?        S    Mar19   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   Mar19   0:00 [rcu_gp]

9、以定义的格式查看每个进程

即可以只查看自己想要的字段

ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan

10、只打印syslogd的进程id

 ps -C syslogd -o pid=

11、只打印PID为10的命令名称

ps -q 10 -o comm=
mm_percpu_wq

总结

ps的用法灵活,最常用的参数组合如下,也可以根据实际情况自己组合

ps -ef
ps aux

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/761895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法体系-14 第十四 贪心算法(上)

一 、 递归套路解决判断完全二叉树 1.1 描述 1.2 分析 1.3 代码 public static boolean isCBT2(Node head) {return process(head).isCBT;}public static class Info {public boolean isFull;public boolean isCBT;public int height;public Info(boolean full, boolean cbt…

UI自动测试框架-selenium(1) selenium介绍和选择器

目录 1.selenium是什么 2.定位元素 2.1 css选择器 2.1.1 选择id 2.1.2 class 2.1.3使用标签选择 2.1.4父类选择器 子类选择器 2.2 xpath 1.selenium是什么 selenium是用来做web端自动化测试的框架,它支持各种游览器,各种平台,支持各种语言(如 Python,Java,C#,JS,Ruby..…

[flask]flask的路由

路由的基本定义 路由就是一种映射关系。是绑定应用程序&#xff08;视图&#xff09;和url地址的一种一对一的映射关系&#xff01;在开发过程中&#xff0c;编写项目时所使用的路由往往是指代了框架/项目中用于完成路由功能的类&#xff0c;这个类一般就是路由类&#xff0c;…

全国产飞腾+FPGA架构,支持B码+12网口+多串电力通讯管理机解决方案

行业痛点: 中国的电力网络已经成为当今世界覆盖范围最广、结构最为复杂的人造科技系统。随着国家和各部委颁布了一系列法律法规&#xff0c;如国家颁布的《中华人民共和国网络安全法》、工信部颁布的《工业控制系统信息安全防护指南》、发改委颁布的14号令《电力监控系统安全防…

基于微信小程序的电影票务系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

python智慧农业小程序flask-django-php-nodejs

当今社会已经步入了科学技术进步和经济社会快速发展的新时期&#xff0c;国际信息和学术交流也不断加强&#xff0c;计算机技术对经济社会发展和人民生活改善的影响也日益突出&#xff0c;人类的生存和思考方式也产生了变化。传统智慧农业采取了人工的管理方法&#xff0c;但这…

[C#] Xml 非法字符处理方法

Xml 非法字符处理方法 根据W3C的标准&#xff1a; //x00-//x08 //x0b-//x0c //x0e-//x1f 不允许出现在xml文件中。 解决办法 xml 处理前 替换非法字符 public static string ReplaceIllegalXmlCharacters(string xml) {// 使用正则表达式匹配非法字符&#xff0c;并进行替换…

python自定义日历库,与对应calendar库函数功能基本一致

目录 自定义日历库 常用列表 日期列表 常用函数 闰年判断 月份天数 元旦序号 日历表头 星期序号 序号及天数 月历字串 打印月历 年历字串 打印年历 对比测试 测试结果 完整代码 运行结果 自定义日历库 自定义日历库函数&#xff0c;并使得其与python calend…

国际期货英文版配资系统/VUE源码包搭建

要搭建一个国际期货英文版配资系统的Vue源码包&#xff0c;你需要遵循一系列的开发步骤。这涉及到前端和后端的开发&#xff0c;以及确保系统的安全性、稳定性和可扩展性。以下是一个大致的指南&#xff0c;帮助你开始这个项目&#xff1a; 1. 需求分析 用户角色与权限&#…

在 CentOS 7 下使用 Ansible Playbook 实现 MySQL 8.0.34 的二进制安装

要在 CentOS 7 下使用 Ansible Playbook 实现 MySQL 8.0.34 的二进制安装&#xff0c;需要先下载 MySQL 8.0.34 的二进制包&#xff0c;并将其上传至目标服务器。 以下是基于二进制包安装的一个简化示例 Playbook&#xff1a; --- # mysql8_binary_install_playbook.yaml- nam…

【SpringBoot】登录校验之会话技术、统一拦截技术

真正的登录功能应该是&#xff1a; 登陆后才能访问后端系统页面&#xff0c;不登陆则跳转登陆页面进行登陆。 当我们没有设置登录校验&#xff0c;可以直接通过修改地址栏直接进入管理系统内部&#xff0c;跳过登录页。而后端系统的增删改查功能&#xff0c;没有添加判断用户是…

DECO: Query-Based End-to-End Object Detection with ConvNets 学习笔记

论文地址&#xff1a;https://arxiv.org/pdf/2312.13735.pdf源码地址&#xff1a;https://github.com/xinghaochen/DECO 近年来&#xff0c;Detection Transformer &#xff08;DETR&#xff09; 及其变体在准确检测目标方面显示出巨大的潜力。对象查询机制使DETR系列能够直接获…

Semi-supervised Open-World Object Detection

Semi-supervised Open-World Object Detection 摘要1 介绍2.准备工作提出的SS-OWOD问题设置2.1 基础架构3 方法3.1整体架构摘要 传统的开放世界对象检测(OWOD)问题设置首先区分已知和未知类别,然后在后续任务中引入标签时逐步学习未知对象。然而,当前的OWOD公式在增量学习…

[pytorch] detr源码浅析

[pytorch] detr源码浅析 1. backbone部分2. encoder部分3. decoder部分4. 输出预测 为之后SAM的代码分析做铺垫 1. backbone部分 detr.py中的DETR class class DETR(nn.Module):def __init__(self, backbone, transformer, num_classes, num_queries, aux_lossFalse):...def …

78K0最小硬件系统分析

78K0最小硬件系统如下图所示。 在应用APPlilet2软件创建一个工程时&#xff0c;软件会第一时间弹出系统设置对话框和看门狗定时器设置对话框。这是对最小硬件系统的初始设置。包括如下选项&#xff1a; &#xff08;1&#xff09;系统时钟设置 体现在硬件初始化函数hdwinit中。…

C#使用ASP.NET Core Razor Pages构建网站(二)

上一篇文章讲了HTTP协议的基本概念、客户端Web开发技术以及ASP.NET Core框架的关键特点和创建项目方法 链接&#xff1a;C#使用ASP.NET Core Razor Pages构建网站&#xff08;一&#xff09; 接下来继续了解ASP.NET Core Razor Pages构建网站的后续内容 了解Razor Pages Razo…

【漏洞分析】Confluence 数据中心和服务器中的严重漏洞 CVE-2023-22515

Confluence 数据中心和服务器中的严重漏洞 CVE-2023-22515 一、简述二、利用(一)第一阶段 设置“设置过程尚未完成”(二)第二阶段&#xff0c;访问setupadministrator端点(三&#xff09;、利用新创建管理员账户登录 三、POC 一、简述 Confluence 的开发者 Atlassian 已公告此…

易大师B版运势测算系统源码-八字周易运势塔罗-含视频搭建教程

2024最新易大师B版运势测算系统源码-八字周易运势塔罗等测算源码 基于上个版本再次做了数据优化和部分bug修复&#xff0c;青狐独家维护版本。 测算周易系统一直都是很好变现和运营的&#xff0c;玩法操作也比较简单&#xff0c;也很容易被百度收录推广。 大致功能&#xff1a…

Github Action Auto build docker Auto deploy

简介 整个流程比较清晰&#xff0c;实现的是基于Github 定向的往ECS做发布 探索 自动化打包发布一般流程&#xff1a; 本地环境打镜像 CI/CD 环境打镜像 以上的流程使用于比较大的项目&#xff0c;受限于环境&#xff0c;打算对上面流程做简化&#xff0c;使用github acti…

栈和队列的学习

存储方式分两类&#xff1a;顺序存储和链式存储 栈&#xff1a;只允许从一端进行数据插入和删除的线性表&#xff1a;先进后出 FILO 队列&#xff1a;只允许从一端进行数据插入&#xff0c;另一端进行数据删除的线性表&#xff1a;先进先出 FIFO 栈 创建空栈&#xff0c;创建…