2013-01-18 29 views
5

Tôi muốn tìm id quá trình bằng cách sử dụng netstat và xem trong bao lâu quá trình này đã chạy bằng cách sử dụng ps. Tôi hiện có hai lệnh riêng biệt để thực hiện việc này. Làm thế nào để làm điều đó với một lệnh?Tìm một id quá trình bằng cách sử dụng netstat kết hợp với ps

netstat -anp | grep http | grep ESTABLISHED | awk {'print $7}' | awk -F '/' {'print $1'} 

và:

ps -eo pid,uid,ruser,etime | grep someuser 

Trả lời

13
for i in `netstat -anp | grep http | grep ESTABLISHED | awk {'print $7}' | awk -F '/' {'print $1'} | uniq` ; do ps -eo pid,uid,ruser,etime | grep $i ; done 
+0

Perfect! Cảm ơn! Nên nghĩ về điều đó. – ibash

+4

Nếu câu trả lời giải quyết được vấn đề của bạn, hãy tử tế và chấp nhận nó. –

+2

thay vì 'uniq' tôi muốn' sắp xếp -u' để tránh trùng lặp trong danh sách pid – knb

Các vấn đề liên quan