cat: pid.txt: 没有那个文件或目录
cat: pid.txt: No such file or directory
我有猫的问题。我想编写脚本来做与 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
不知道我做错了什么。提前致谢。
当 运行 cat pid.txt...
命令与你 运行 你的 ls...
命令。 运行 你的两个命令都在同一个终端上 window,或者使用绝对路径,比如 /path/to/pid.txt
除了你的错误,你可能想从你的 grep 命令中删除 -o
,因为它给你一个匹配的 pid 的数字。例如,当 pid 为 423 时,您得到 2。@Roadowl 也指出了这一点。
我认为您想要的是这个 - 您的所有方法都存在一些缺陷(或者您真的只想查看具有个位数 PID 的进程?):
for pid in $(ls /proc/ | grep -E '^[0-9]+$'|sort -h); do cat /proc/${pid}/cmdline; tr '\x00' '\n'; done
我有猫的问题。我想编写脚本来做与 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
不知道我做错了什么。提前致谢。
当 运行 cat pid.txt...
命令与你 运行 你的 ls...
命令。 运行 你的两个命令都在同一个终端上 window,或者使用绝对路径,比如 /path/to/pid.txt
除了你的错误,你可能想从你的 grep 命令中删除 -o
,因为它给你一个匹配的 pid 的数字。例如,当 pid 为 423 时,您得到 2。@Roadowl 也指出了这一点。
我认为您想要的是这个 - 您的所有方法都存在一些缺陷(或者您真的只想查看具有个位数 PID 的进程?):
for pid in $(ls /proc/ | grep -E '^[0-9]+$'|sort -h); do cat /proc/${pid}/cmdline; tr '\x00' '\n'; done