cat:pid.txt:没有这样的文件或目录

  • 本文关键字:文件 pid txt cat linux cat ps
  • 更新时间 :
  • 英文 :


我对cat有问题。我想写和ps-e一样的脚本。在pid.txt中,我有运行进程的pid。

ls /proc/ | grep -o "[0-9]" | sort -h > pid.txt

然后我想使用$line作为每个PID的cmdline路径的一部分。

cat pid.txt | while read line; do cat /proc/$line/cmdline; done

我也尝试循环

for id in 'ls /proc/ | grep -o "[0-9]+" | sort -h'; do 
cat /proc/$id/cmdline;
done

不知道我做错了什么。提前谢谢。

我想你想要的是——你的所有方法都有一些缺陷(或者你真的只是想用一个位数的PID来看待流程吗?):

for pid in $(ls /proc/ | grep -E '^[0-9]+$'|sort -h); do cat /proc/${pid}/cmdline; tr 'x00' 'n'; done

与运行ls...命令时相比,运行cat pid.txt...命令时您所处的当前目录似乎不同。在同一个终端窗口上运行两个命令,或者使用绝对路径,如/path/to/pid.txt

除了您的错误之外,您可能还想从grep命令中删除-o,因为它为匹配的pid提供了1位数字。例如,当pid为423时,您得到2@Roadowl也已经指出了这一点。

相关内容

  • 没有找到相关文章

最新更新