我有一个长时间运行的进程,正在读取
STDIN
。但是我不确定哪个进程正在将数据传输到其中。流程创建由流程管理器处理,我无法控制它。我尝试使用 lsof
来解决这个问题,但我做不到。
计算管道进程的进程 ID 的标准方法是什么?
这会给你你想要的
pid=<THEPIDYOUWANT>; lsof | grep "$(lsof -nPFti -p $pid | grep -A1 tFIFO | sed -En 's/^i(.*)$/\1/p')"
使用管道的进程列表将出现,从
FD
您可以知道哪个进程在读取或写入。