$cat t.sh
grep "12" test | wc -c
我想知道它运行时会创建多少个进程。 我用过
./t.sh;ps -aux | grep "t.sh"
但它没有工作,因为在 ps 工作时“./t.sh”已经跑完了。
我怎样才能达到这个目标?
最佳答案
取决于您运行的系统。如果您有 strace
,您可以跟踪所有 fork
系统调用。问题是虽然有些系统使用 fork
,有些系统使用 vfork
和一些 clone
,但您必须进行试验。在 Linux 上:
strace -c -f -evfork ./t.sh
应该给你一个总结。 -c
给出计数,-f
表示“跟随”子进程,-evfork
表示跟踪 vfork
内核调用。输出转到 stderr,但您可以使用 -o
选项将其重定向到一个文件(如果您在此处指定一个命名管道,您可以使用一些巧妙的技巧)。
关于linux - 如何获取shell脚本的所有进程名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11190211/