fork download
  1. count-forks() {
  2. local prev_pid=$(echo $BASHPID)
  3. "$@"
  4. local next_pid=$(echo $BASHPID)
  5. echo "$* -> $(( next_pid - prev_pid - 1 )) fork(s)"
  6. }
  7.  
  8. func1() {
  9. echo hello | cat -n
  10. }
  11.  
  12. func2() {
  13. cat -n <<< hello
  14. }
  15.  
  16. func3() {
  17. echo hello
  18. }
  19.  
  20. count-forks func1
  21. count-forks func2
  22. count-forks func3
Success #stdin #stdout 0s 5040KB
stdin
Standard input is empty
stdout
     1	hello
func1 -> 2 fork(s)
     1	hello
func2 -> 1 fork(s)
hello
func3 -> 0 fork(s)