当我运行时pgrep vim | xargs echo,它打印93868 91234。
当我运行时lsof -p 91234,它打印:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 91234 rose cwd DIR 1,2 1326 1186863 /Users/rose/spotapi/spotapi/models
vim 91234 rose txt REG 1,2 1629296 12231 /usr/bin/vim
vim 91234 rose txt REG 1,2 2704416 294199 /System/Library/Frameworks/Python.framework/Versions/2.7/Python
Run Code Online (Sandbox Code Playgroud)
那么为什么呢
pgrep vim | xargs lsof -p
Run Code Online (Sandbox Code Playgroud)
打印
lsof: status error on 91234: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我在 Mac 操作系统上运行。
我在我的 Slackware 安装中看到了这一点。如果你运行lsof -p 93868 91234你就会发现问题。原因是xargs如果可以的话,将所有参数推到一个命令行上。您可以使用该-n选项来指定参数的最大数量。
pgrep vim | xargs -n1 lsof -p
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1934 次 |
| 最近记录: |