有沒有辦法列出正在運行的linux進程(例如給定其pid或進程名稱)使用的管道並確定其使用容量?如何使用bash命令列出進程使用的管道
是這樣的:
lspipes -l -p pid
導致類似:
[rw] descriptor size name
其中RW是管端類型和大小是其使用的容量
或類似的東西
有沒有辦法列出正在運行的linux進程(例如給定其pid或進程名稱)使用的管道並確定其使用容量?如何使用bash命令列出進程使用的管道
是這樣的:
lspipes -l -p pid
導致類似:
[rw] descriptor size name
其中RW是管端類型和大小是其使用的容量
或類似的東西
1)ls -l /proc/pid/fd
這將列出管道
lr-x------ 1 prabagaran prabagaran 64 Sep 5 23:01 14 -> pipe:[57729]
l-wx------ 1 prabagaran prabagaran 64 Sep 5 23:01 15 -> pipe:[57728]
lr-x------ 1 prabagaran prabagaran 64 Sep 5 23:01 16 -> pipe:[57731]
lr-x------ 1 prabagaran prabagaran 64 Sep 5 23:01 17 -> pipe:[57730]
2)lsof | grep 57731
wineserve 3641 prabagaran 76w FIFO 0,8 0t0 57731 pipe
winedevic 3651 prabagaran 16r FIFO 0,8 0t0 57731 pipe
這些是與給定進程ID的管信息。
我真的不覺得有這樣的命令。你可以嘗試以下方法:
lsof -p PID | grep FIFO
其中PID代表進程ID,而FIFO代表什麼都沒有。你必須準確地寫入「FIFO」。可能有一個lsof
開關只選擇管道並避開grep
,但我現在無法在手冊頁中找到它。
它應該給你一些東西接近你要找的東西。
FIFO [代表「先進先出」](http://www.linuxjournal.com/article/2156) – TML
@TML,我知道......但他不需要在命令,因爲他應該用PID!:D這就是我的意思! – Zagorax