Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux cat:pid.txt:没有这样的文件或目录_Linux_Cat_Ps - Fatal编程技术网

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

Linux cat:pid.txt:没有这样的文件或目录,linux,cat,ps,Linux,Cat,Ps,我对猫有意见。我想写和ps-e一样的脚本。在pid.txt中,我有运行进程的pid ls /proc/ | grep -o "[0-9]" | sort -h > pid.txt 然后我想使用$line作为evry PID的cmdline路径的一部分 cat pid.txt | while read line; do cat /proc/$line/cmdline; done 我也试着打圈 for id in 'ls /proc/ | grep -o "[

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

ls /proc/ | grep -o "[0-9]" | sort -h > pid.txt
然后我想使用$line作为evry 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…
命令时不同。在同一终端窗口上运行两个命令,或使用绝对路径,如
/path/to/pid.txt


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

我认为您所追求的是这一点-您的所有方法都存在一些缺陷(或者您真的只是想用一位数的PID来查看流程?)


just
ls/proc/
的输出向您展示了什么…?如果您必须使用
ls
,那么请使用
ls-1/proc/
,不要使用
grep-o
而只使用
grep'[0-9]'
for pid in $(ls /proc/ | grep -E '^[0-9]+$'|sort -h); do cat /proc/${pid}/cmdline; tr '\x00' '\n'; done