linux – 为什么我看到的帖子多于我在`ps`列表中创建的数字?
发布时间:2020-12-13 23:02:20 所属栏目:Linux 来源:网络整理
导读:当我从主进程创建一个线程(pthread_create())时,我在ps列表中看到三(3)个线程,为什么会这样?也就是说,我看到主线程的进程,一个用于创建的线程,第三个用于其他东西.什么是别的?一切正常,我只是想知道额外列出的流程是什么. ~/ cat test.c#include errno.h#i
当我从主进程创建一个线程(pthread_create())时,我在ps列表中看到三(3)个线程,为什么会这样?也就是说,我看到主线程的进程,一个用于创建的线程,第三个用于其他东西.什么是别的?一切正常,我只是想知道额外列出的流程是什么.
~/ cat test.c #include <errno.h> #include <pthread.h> static pthread_t thread; void * test_thread(void * ptr) { sleep(30); return(ptr); } void thread_init(void) { if (pthread_create( &thread,NULL,test_thread,NULL)) perror("Thread not created!"); } int main(int argc,char ** argv) { thread_init(); sleep(30); } 当我在运行Linux 2.6.14和BusyBox的系统上执行此代码(但使用bash 2.04g)时,我重新启动并启动上面的测试程序后得到的ps列表: ... 52 root SW [kswapd0] 667 root SW [mtdblockd] 710 root SWN [jffs2_gcd_mtd4] 759 root 980 S /bin/sh 760 root 500 S /bin/inetd 761 root 516 S /bin/boa 762 root 644 S /sbin/syslogd -n 763 root 640 S /sbin/klogd -n 766 root 1516 S /bin/sshd -i 767 root 1036 S -sh 768 root 420 S ./test 769 root 420 S ./test 770 root 420 S ./test 771 root 652 R ps 内核是2.6.14内核,添加了一些驱动程序模块. 解决方法
它可能是“线程管理器”线程.见
link的答案D.5.
如果使用NPTL,您将看不到大多数现代Linux系统上列出的额外进程.但我搜索过,听起来像BusyBox使用ulibc,我认为最近只添加了NPTL支持.所以我不确定,但我的猜测是你正在使用LinuxThreads并将管理器线程视为额外的线程. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读