|
From: | Jan Schampera |
Subject: | Re: Bash cannot kill itself? |
Date: | Wed, 30 Jun 2010 07:40:38 +0200 |
User-agent: | Mozilla-Thunderbird 2.0.0.24 (X11/20100329) |
Clark J. Wang wrote:
Running a cmd in background (by &) would not create subshell. Simple testing: #!/bin/bash function foo() { echo $$ } echo $$ foo & ### END OF SCRIPT ### The 2 $$s output the same.
This doesn't mean that it doesn't create a subshell. It creates one, since it can't replace your foreground process.
It just shows that $$ does what it should do, it reports the relevant PID of the parent ("main") shell you use. As far as I can see, this applies to all kinds of subshells like
- explicit ones (...) - pipeline components - command substitution - process substitution - async shells (like above, running your function) - ... J.
[Prev in Thread] | Current Thread | [Next in Thread] |