![捕获短暂进程的完整顶部命令字段](https://linux22.com/image/143788/%E6%8D%95%E8%8E%B7%E7%9F%AD%E6%9A%82%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%AE%8C%E6%95%B4%E9%A1%B6%E9%83%A8%E5%91%BD%E4%BB%A4%E5%AD%97%E6%AE%B5.png)
我需要捕获COMMAND
command 字段中的完整进程名称top
。我感兴趣的进程只存活了 2-5 秒。我尝试过类似的方法:
top -c | grep
但是,它不起作用。有什么建议么?
以下是 的字段COMMAND
输出行示例top -c
:
pdflatex /results/analysis/output/Home/20180612-3_116/report.tex -output-directory /results/analysis/output/Home/20180612-3_116 -interaction+
由于屏幕宽度限制,-intercation+之后的内容被截断。
答案1
如果有,请pgrep
与该-a
选项一起使用。 (如果您没有安装,您可能会pgrep
在包中找到它。)告诉打印参数;默认情况下,它只打印 PID。procps
-a
pgrep
pgrep -a pdflatext
您也可以使用 来执行此操作ps
,它对于输出内容有更多选项:
ps -C pdflatex -opid=,cmd= --width=400
上面的输出与pgrep
命令相同(除了它被截断为 400 个字符;我相信如何更改它是显而易见的。)如果您不需要 PID,请忽略pid=,
该-o
选项。请参阅man ps
许多其他可能的选项。
请注意,Linux 仅使命令行的前 4096 个字节可用;如果命令行长于此,则无法获得未截断的命令行。