我正在检查使用文件系统的进程。现在,当我开始使用的时候,就会有数百个进程出现。
fuser -cu /xyz输出截断:
393ce(xyz) 1044c(root) 1068cm(oracle) 2065ce(xyz) 3729ce(xyz)我只想在文件中用换行符分隔进程id,这样我就可以运行一个循环来检查进程。
发布于 2018-12-14 11:38:18
如果您只想要id而不是id(user),那么就不要使用-u选项。fuser -u文档
-u,--用户 将进程所有者的用户名附加到每个PID中。
对我来说,fuser -c /的格式与您的示例不同。每个id后面跟着表示访问类型的字母。这些字母被打印到stderr,因此我将使用2>&-来隐藏它们。
$ fuser -c /
/: 1717rce 1754rce 1765rce 1785rce ...
$ fuser -c / 2>&-
1717 1754 1765 1785 ...您可以使用grep打印每行一个id:
$ fuser -c / 2>&- | grep -o '[0-9]*'
1717
1754
1765
1785
...但是,要运行循环,每行不需要一个id。由空格分隔的Ids也可以工作:
for id in $(fuser -c / 2>&-); do
echo "id = $id"
donehttps://stackoverflow.com/questions/53777058
复制相似问题