确定在Linux中以给定的可执行文件开始的所有进程

问题描述 投票:0回答:1

我有需要收集\ log在执行恰好是测试自动化脚本的Perl脚本的过程中用来启动计算机上的进程的所有命令行。这个Perl脚本使用各种命令行多次启动有问题的可执行文件(MySQL),我想检查这些调用的所有命令行。正确的方法是什么?我看到的一种可能性是在Shell脚本中循环运行“ ps -aux | grep mysqld | grep -v grep”之类的东西,并将结果捕获到文件中,但随后我必须对此进行一些后期处理并删除重复项等等,由于时序问题,我可能会错过一些过程命令行。有没有更好的方法可以实现这一目标。

shell
1个回答
0
投票

处理ps输出始终会丢失某些过程。它将仅捕获当前存在的那些。最好的方法是修改Perl脚本以在执行每个命令之前或之后记录每个命令。

如果不是这样,可以通过运行以下命令获取perl脚本的子pid:

pgrep -P $pid -a

-a给出完整的处理命令。 $pid是perl脚本的pid。然后处理那些。

© www.soinside.com 2019 - 2024. All rights reserved.