<![CDATA[Latest posts for the topic "Tính tổng dung lượng các file được tiến trình mở ra ? "]]> /hvaonline/posts/list/24.html JForum - http://www.jforum.net Tính tổng dung lượng các file được tiến trình mở ra ? Code:
COMMAND   PID   USER   FD   TYPE             DEVICE      SIZE      NODE NAME
httpd    7617 nobody  644w   REG               0,53         0  10949472 /usr/local/apache/domlogs/test.xx
httpd    7617 nobody  645w   REG               0,53         0  10950052 /usr/local/apache/domlogs/test.xxx
httpd    7617 nobody  646w   REG               0,53         0  10949870 /usr/local/apache/domlogs/qbraxxx
httpd    7617 nobody  647w   REG               0,53         0  10949185 /usr/local/apache/domlogs/qbrandxxxxxx

...
Bây giờ mình muốn tính tổng ở cột size thì làm thế nào nhỉ. Mong mọi người giúp đỡ ]]>
/hvaonline/posts/list/41684.html#259489 /hvaonline/posts/list/41684.html#259489 GMT
Tính tổng các file được tiến trình mở ra ? Code:
# lsof -s -c httpd | awk '{ size += $7 } END { print size }'
]]>
/hvaonline/posts/list/41684.html#259508 /hvaonline/posts/list/41684.html#259508 GMT
Tính tổng các file được tiến trình mở ra ?

quanta wrote:
Bạn tìm cuốn sed & awk của O'Reilly mà đọc: Code:
# lsof -s -c httpd | awk '{ size += $7 } END { print size }'
 
Cái trên thì mình cũng biết quanta oi. Nhưng nó hoàn toàn sai rồi.]]>
/hvaonline/posts/list/41684.html#259528 /hvaonline/posts/list/41684.html#259528 GMT
Tính tổng các file được tiến trình mở ra ?

pmquang wrote:

quanta wrote:
Bạn tìm cuốn sed & awk của O'Reilly mà đọc: Code:
# lsof -s -c httpd | awk '{ size += $7 } END { print size }'
 
Cái trên thì mình cũng biết quanta oi. Nhưng nó hoàn toàn sai rồi. 
Sai ở chỗ nào vậy bạn?]]>
/hvaonline/posts/list/41684.html#259529 /hvaonline/posts/list/41684.html#259529 GMT
Tính tổng các file được tiến trình mở ra ?

quanta wrote:

pmquang wrote:

quanta wrote:
Bạn tìm cuốn sed & awk của O'Reilly mà đọc: Code:
# lsof -s -c httpd | awk '{ size += $7 } END { print size }'
 
Cái trên thì mình cũng biết quanta oi. Nhưng nó hoàn toàn sai rồi. 
Sai ở chỗ nào vậy bạn? 
À mình xin lỗi vì không đưa rõ cái output ra, cụ thể trong cái lệnh trên còn có những dòng như sau: Code:
httpd    3640   root  mem    REG                9,1             29000181 /lib/libz.so.1.2.3 (path dev=0,25)
httpd    3640   root  mem    REG                9,1              4366361 (deleted) /lib/libcrypto.so.0.9.8e (stat: No such file or directory)
httpd    3640   root  mem    REG                9,1             29000105 (deleted) /lib/libssl.so.0.9.8e (stat: No such file or directory)
httpd    3640   root  mem    REG                9,1             11512775 /usr/local/apache/modules/mod_bwlimited.so (path dev=0,25)
httpd    3640   root  mem    REG                9,1             11512774 /usr/local/apache/modules/mod_auth_passthrough.so (path dev=0,25)
httpd    3640   root  mem    REG                9,1              4366365 (deleted) /lib/ld-2.5.so (stat: No such file or directory)
như cái này thì $7 ở đây là NODE chứ không phải là size và cũng có thể có nhiều dòng không hợp chuẩn như thế nữa chẳng hạn như lâu lâu nó có thêm cái này Code:
httpd   28322 nobody 1038u  IPv4         3917352894                  TCP xx.xxxxx.vn:http->baiduspider-180-76-5-97.crawl.xxxx.com:15792 (ESTABLISHED)
httpd   28322 nobody 1039u  IPv4         3917353012                  TCP xx.xxxxx.vn:http->110.172.xxx.xxx:59698 (ESTABLISHED)
quanta xem thử nhé.]]>
/hvaonline/posts/list/41684.html#259532 /hvaonline/posts/list/41684.html#259532 GMT
Tính tổng các file được tiến trình mở ra ? Code:
# lsof -s -c httpd | awk 'NF >= 9 { size += $7 } END { print size }'
]]>
/hvaonline/posts/list/41684.html#259535 /hvaonline/posts/list/41684.html#259535 GMT
Tính tổng các file được tiến trình mở ra ?

quanta wrote:
À, OK, đã có cách: Code:
# lsof -s -c httpd | awk 'NF >= 9 { size += $7 } END { print size }'
 
NF ở đây là number field nên nó phải bằng 9 mới đúng chứ nhỉ. Mặc dù không phải tổng quát lắm nhưng lệnh trên cũng khá hữu ích với mình. Ps: công nhận quanta siêu command linux thật ^^]]>
/hvaonline/posts/list/41684.html#259537 /hvaonline/posts/list/41684.html#259537 GMT
Tính tổng các file được tiến trình mở ra ?

quanta wrote:
À, OK, đã có cách: Code:
# lsof -s -c httpd | awk 'NF >= 9 { size += $7 } END { print size }'
 
NF ở đây là number field nên nó phải bằng 9 mới đúng chứ nhỉ. Mặc dù không phải tổng quát lắm nhưng lệnh trên cũng khá hữu ích với mình. Code:
httpd    3633 nobody  cwd    DIR               0,25      4096    3647702 /
httpd    3633 nobody  rtd    DIR               0,25      4096    3647702 /
Ps: công nhận quanta siêu command linux thật ^^]]>
/hvaonline/posts/list/41684.html#259538 /hvaonline/posts/list/41684.html#259538 GMT
Tính tổng các file được tiến trình mở ra ?

pmquang wrote:

quanta wrote:
À, OK, đã có cách: Code:
# lsof -s -c httpd | awk 'NF >= 9 { size += $7 } END { print size }'
 
NF ở đây là number field nên nó phải bằng 9 mới đúng chứ nhỉ.  
Code:
# lsof -s -c httpd | awk 'NF >= 10 { print $0 }'
httpd   17244 apache    4u  sock     0,5           4637231 can't identify protocol
httpd   17245 apache    4u  sock     0,5           4637231 can't identify protocol
httpd   17349 apache    4u  sock     0,5           4637231 can't identify protocol
httpd   17350 apache    4u  sock     0,5           4637231 can't identify protocol
httpd   17351 apache    4u  sock     0,5           4637231 can't identify protocol
httpd   17393 apache    4u  sock     0,5           4637231 can't identify protocol
httpd   17394 apache    4u  sock     0,5           4637231 can't identify protocol
httpd   18760   root    4u  sock     0,5           4637231 can't identify protocol
Ồ, như vậy là lệnh trên vẫn chưa đúng. Hy vọng là cái này đã chặn được hết các trường hợp: Code:
# lsof -s -c httpd | awk '$8 ~ "[0-9]+" { size += $7 } END { print size }'
]]>
/hvaonline/posts/list/41684.html#259539 /hvaonline/posts/list/41684.html#259539 GMT