linux查看进程中线程信息

查看Linux下某个进程里面线程数量
2011-04-08 15:41

3中方法:

1. cat /proc/${pid}/status

2. pstree -p ${pid}

3. top -p ${pid} 再按H

或者直接输入 top -bH -d 3 -p ${pid}

查看进程工作

strace -p ${pid}

开启iptables日志
iptables -t raw -I PREROUTING 1 -p tcp --syn -m statistic --mode nth --every 5000 -j LOG --log-prefix "IPTABLES DETECTING SYN: "
tail /var/log/message
关闭iptables日志
iptables -t raw -F

查看是否被攻击
netstat -n -p TCP | grep SYN_RECV | grep :80 | wc -l
netstat -tn|grep ESTABLISH|wc -l 
查出服务器是否受到DOS攻击 (看SYN_RECV)
netstat -an |awk '{print $6}'|sort|uniq -c|sort -rn
5116 TIME_WAIT
1624 ESTABLISHED
531 FIN_WAIT1
512 FIN_WAIT2
126 SYN_RECV
10 CLOSING
9 LISTEN

查出服务器异常IP链接
netstat -an | awk '{print $5}' | cut -d":" -f1 | sort | uniq -c | sort -rn | head



ps -ef f 
用树形显示进程和线程,比如说我想找到proftp现在有多少个进程/线程,可以用 
$ ps -ef f | grep proftpd 
nobody 23117 1 0 Dec23 ? S 0:00 proftpd: (accepting connections) 
jack 23121 23117 0 Dec23 ? S 7:57 \_ proftpd: jack - ftpsrv: IDLE 
jack 28944 23117 0 Dec23 ? S 4:56 \_ proftpd: jack - ftpsrv: IDLE 
这样就可以看到proftpd这个进程下面挂了两个线程。 
在Linux下面好像因为没有真正的线程,是用进程模拟的,有一个是辅助线程,所以真正程序开的线程应该只有一个。

另外用pstree -c也可以达到相同的效果 
$ pstree -c | grep proftpd 
|-proftpd-+-proftpd 
| `-proftpd

如何查看进程中各线程的内存占用情况?

用ps aux只能查看到进程,如果进


你可能感兴趣的:(linux,服务器,tcp,dos,工作)