<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    Linux下多線程查看工具(pstree、ps、pstack),linux命令之-pstree使用說明, linux 查看線程狀態。 不指定

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    0.最常用 pstree:
    [root@iZ25dcp92ckZ temp]# pstree -a|grep multe
      |       |   `-multepoolser
      |       |       `-multepoolser
      |       |           `-2*[{multepoolser}]

    1. > top

    可以顯示所有系統進程

    按u, 再輸入相應的執行用戶名稱,比如Tom

    可以看到Tom用戶啟動的所有進程和對應的pid

    2. > pstack pid

    可以看到此pid下,各線程的運行狀態、

    [root@test multepoolserver]# pstack  14944  (進程的PID號)
    Thread 2 (Thread 0x41ed5940 (LWP 14945)):
    #0  0x0000003c9ae0d5cb in read () from /lib64/libpthread.so.0
    #1  0x00000000004017b6 in sync_additional_writing_worker ()
    #2  0x0000003c9ae064a7 in start_thread () from /lib64/libpthread.so.0
    #3  0x0000003c9a2d3c2d in clone () from /lib64/libc.so.6
    Thread 1 (Thread 0x2b24b3094250 (LWP 14944)):
    #0  0x0000003c9a2d4018 in epoll_wait () from /lib64/libc.so.6
    #1  0x0000000000401d59 in Process ()
    #2  0x00000000004029b8 in main ()

    來自:http://blog.csdn.net/wind_324/article/details/6152912

    方法一:
    ps -ef f 
    用樹形顯示進程和線程
    在Linux下面好像因為沒有真正的線程,是用進程模擬的,有一個是輔助線程,所以真正程序開的線程應該只有一個。

    方法二:
    [root@apache dhj]# ps axm|grep httpd

    方法三:
    另外用pstree -c也可以達到相同的效果,但是沒有線程號:
    [root@apache dhj]# pstree -c|grep httpd

    來自:http://blog.chinaunix.net/uid-346158-id-2131012.html

    1. pstree

    pstree以樹結構顯示進程

    1. root@119.10.6.*:~# pstree  
    2. init─┬─NetworkManager  
    3.      ├─abrt-dump-oops  
    4.      ├─abrtd  
    5.      ├─atd  
    6.      ├─auditd───{auditd}  
    7.      ├─automount───4*[{automount}]  
    8.      ├─certmonger  
    9.      ├─crond  
    10.      ├─dbus-daemon  
    11.      ├─hald─┬─hald-runner─┬─hald-addon-acpi  
    12.      │      │             └─hald-addon-inpu  
    13.      │      └─{hald}  
    14.      ├─httpd─┬─httpd  
    15.      │       └─4*[httpd───26*[{httpd}]]  
    16.      ├─irqbalance  
    17.      ├─mcelog  
    18.      ├─6*[mingetty]  
    19.      ├─modem-manager  
    20.      ├─mysqld_safe───mysqld───38*[{mysqld}]  
    21.      ├─nginx───13*[nginx]  
    22.      ├─php-fpm───76*[php-fpm]  
    23.      ├─portreserve  
    24.      ├─rpc.idmapd  
    25.      ├─rpc.statd  
    26.      ├─rpcbind  
    27.      ├─rsyslogd───3*[{rsyslogd}]  
    28.      ├─2*[sendmail]  
    29.      ├─sshd───sshd───bash───pstree  
    30.      ├─udevd───2*[udevd]  
    31.      ├─wpa_supplicant  
    32.      └─xinetd  



    2. ps -Lf
    $ ps -Lf 1892
    如下:PHP進程共啟動了0個線程
    root@119.10.6.**:~# ps -Lf 1892
    UID        PID  PPID   LWP  C NLWP STIME TTY      STAT   TIME CMD
    root      1892     1  1892  0    1 Jan15 ?        Ss     0:53 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)

    Mysql多個線程:
    root@119.10.6.*:~#  ps -Lf 3005
    UID        PID  PPID   LWP  C NLWP STIME TTY      STAT   TIME CMD
    mysql     3005  2011  3005  0   39 Jan15 ?        Sl     2:25 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=
    mysql     3005  2011  3081  0   39 Jan15 ?        Sl     0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=
    mysql     3005  2011  3082  0   39 Jan15 ?        Sl     0:05 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=
    mysql     3005  2011  3083  0   39 Jan15 ?        Sl     0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=
    mysql     3005  2011  3084  0   39 Jan15 ?        Sl     0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=
    mysql     3005  2011  3085  0   39 Jan15 ?        Sl     0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=
    mysql     3005  2011  3086  0   39 Jan15 ?        Sl     0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=
    mysql     3005  2011  3087  0   39 Jan15 ?        Sl     0:05 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=

    3. pstack
    pstack顯示每個進程的棧跟蹤,PHP的fpm主進程,發現這玩意是走的epoll:
    root@119.10.6.23:~# pstack 1892
    #0  0x00000030e9ae8fb3 in __epoll_wait_nocancel () from /lib64/libc.so.6
    #1  0x0000000000856a74 in fpm_event_epoll_wait ()
    #2  0x000000000084afff in fpm_event_loop ()
    #3  0x0000000000845ee7 in fpm_run ()
    #4  0x000000000084d900 in main ()
    You have new mail in /var/spool/mail/root

    作者:justwinit@向東博客 專注WEB應用 構架之美 --- 構架之美,在于盡態極妍 | 應用之美,在于藥到病除
    地址:http://www.justwinit.cn/post/7737/
    版權所有。轉載時必須以鏈接形式注明作者和原始出處及本聲明!

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全