当前位置:  技术问答>linux和unix

请问top命令显示的结果中一个命令为何会出现多次?

    来源: 互联网  发布时间:2016-04-21

    本文导语:  现在有一个可执行文件catqa,它实现的是一个多线程的操作,其中线程数是作为参数传入的。现在的问题是,当我执行 catqa -t 1  //一个线程 运行top发现开始有一条catqa的纪录,PID为479;过了几秒蹦出一条catqa的纪录...

现在有一个可执行文件catqa,它实现的是一个多线程的操作,其中线程数是作为参数传入的。现在的问题是,当我执行
catqa -t 1  //一个线程
运行top发现开始有一条catqa的纪录,PID为479;过了几秒蹦出一条catqa的纪录,PID为483,此时两条记录同时存在;过了几秒,PID为479得那条记录没了,剩下PID为483的记录,一直到程序退出。

接着我又执行了2个线程的情况
catqa -t 2  //两个线程
运行top发现开始有一条catqa的纪录,PID为484;过了几秒蹦出两条catqa的纪录,PID为488和489,此时三条记录同时存在;过了几秒,PID为484得那条记录没了,剩下PID为488和489两条记录,一直到程序退出。

第一次用top这个命令,被这个问题弄晕了,熟悉这个的牛人们能给我回答一下下面的问题么?
1.top命令的结果里出现多条catqa的记录是多线程引起的么?
2.如果是的话,为什么1个线程最多有2条记录,2个线程最多有3条记录?我自己猜,那是因为有一条记录是主线程的,不知对否?
3.如果2中我的猜想是对的,为啥主线程的PID号跟子线程的差了个4号呢?(这个问题不是很重要,但还是希望弄弄清楚)
4.我现在需要统计catqa执行起来后,占用的CPU百分比,内存百分比等,得怎么做呢?

|
个人认为 1,2跟你的程序是相关的,多线程的话会显示多个的。

|
刚开始的那条记录是相当于进程的概念,是为了系统为其分配资源而产生的

|
你这个应该不是多线程,多线程是共享一个进程的,换句话说它们有相同的进程号
你这个应该是多进程

刚开始那个应该是做初始化,fork子进程用的,所以后来这些工作做完就退出,你就看不到了

进程号差4可能是在fork之前调用了其它命令做了一些初始化之类的工作

稳定之后如果不再继续fork,也就是说479退出后483可以一直执行到工作结束,你就统计483的就差不多了

    
 
 

您可能感兴趣的文章:

  • 请问各位大虾,ping命令的端口是多少?把某个端口封掉,用什么命令?
  • 请问如何清掉linux的操作命令记录?就是按上下键不能查看以前执行的命令,谢谢
  • 请问LINUX7.2下,哪条命令是查看系统上曾经执行过的执行命令?(包括启动以前的)
  • 请问用哪个命令可以在命令行里显示系统当前的时间?
  • 请问能否在程序中嵌入命令行(linux)中的命令,如果可以应该怎样做,谢谢!!!
  • 在Unix下用rm命令误删除了文件,然后再无其它操作,请问,可以恢复吗?有直接的命令吗?
  • 请问:早redhat 7.3的字符模式下:改(设)IP 命令是:ifconfig eth0 192.168.0.xx ,那么改(设)掩码命令是什么呢? 还有改(设)网关地址命令是什
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 自己实现linux下的ftp客户端,先用port命令后用append命令,报告错误425请问是哪里错了?,应该把模式置为pasv嘛??
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问此命令是何意!
  • 请问在vi中命令用法
  • 请问如何才能恢复命令行界面?
  • 请问,在Cramfs文件系统中怎样实现历史命令记录
  • 请问一下dd命令的实现机制,哪里能看到
  • 菜问一则:请问用什么命令可得到系统路径
  • 请问Linux显示当前版本的命令是什么?谢谢
  • 请问用rm 命令删掉的目录(含文件)有什么办法恢复?
  • java.net.URLConnection中getOutputStream()方法出现协议不支持输出流的错误,请问为何会出现此错误?
  • 请问出现fstab文件丢失该怎么修复呀?
  • 在solaris8上编译完成,链接的时候出现Segmentation Fault - core dumped这种错误,请问是什么原因??
  • 装有DB2的SCO UNIX系统运行中,出现警告提示...请问此警告是什么意思,如何解决?
  • linux系统运行php几分钟后出现假死情况请问需要设置什么地方?
  • 请问添加yum后 ,出现如下错误
  • 请问:能够在网页文件中自己定义出现在地址栏中的url吗?
  • 请问其结果是 什么?急 iis7站长之家
  • 我装好红旗LINUX了,第一次启动出现localhost login:,请问应该输入什么
  • 请问如何解决FC5使用或安装软件时不断出现一堆英文和数字?
  • 请问,我的机器突然出现,找不到注册文件的提示,是为什么呢?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问JDBC中返回结果参数的存储过程{?=call 过程名(?,?,...)}返回的结果如何得到?
  • 请问其结果是 什么?急
  • 请问用 ls 命令时,怎样将显示的结果以页为单位进行显示
  • 请问调用数据库可更新结果集的resultSet.deleteRow()不成功可能是什么原因?
  • #请问nslookup和程序中使用gethostbyname为什么结果不同?
  • 请问如何将VIM的查找结果输出到文件?
  • 请问fdisk -l命令结果竟然为空,这如何解决?
  • 请问jbuilder可以显示jsp的运行结果吗?
  • 请问如何获得结果集的列数?
  • 请问各位大侠,BShell里面怎么能够将命令执行的结果保存到变量里面?
  • 请问下面的程序为什么会得出这样的结果?
  • 请问以下程序结果,谢谢
  • 请问shell中执行一个命令后,如何不回显其执行结果。
  • 请问一个关于数据库的查询结果返回resultset的问题
  • 请问为什么我的getparameter没有结果?谢谢
  • 请问JAVA如何执行(调用)操作系统命令,如dir,然后把执行结果存入变量或文件,谢谢!
  • 原来装了linux和window2K两个系统,今天又装了个winxp,结果找不到启动linux的菜单呢?请问如何解决,先谢了!
  • 请问怎样将system()系统调用执行的结果写到一个字符数组里去?
  • 求助:请问怎么获得在个一个脚本中执行的另外个脚本的返回结果,如执行成功或失败
  • 打印今天的日期,我用Calendar c=Calendar.getInstance();直接打印,和用c.set(2002,10,11)得到不同的结果,请问是什么意思??
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!
  • 请问linux下GUI开发的问题!
  • 请问这个方法如何调用?
  • 请问一个奇怪的问题!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3