More clarification about parallel job launch and wait
This commit is contained in:
@@ -181,11 +181,13 @@ wish> cmd1 & cmd2 args1 args2 & cmd3 args1
|
|||||||
|
|
||||||
In this case, instead of running `cmd1` and then waiting for it to finish,
|
In this case, instead of running `cmd1` and then waiting for it to finish,
|
||||||
your shell should run `cmd1`, `cmd2`, and `cmd3` (each with whatever arguments
|
your shell should run `cmd1`, `cmd2`, and `cmd3` (each with whatever arguments
|
||||||
the user has passed to it).
|
the user has passed to it) in parallel, *before* waiting for any of them to
|
||||||
|
complete.
|
||||||
|
|
||||||
**Important:** For any new processes your shell creates via `fork()`, you must
|
Then, after starting all such processes, you must make sure to use `wait()`
|
||||||
make sure to use `wait()` (or `waitpid`) to wait for them to complete. Not
|
(or `waitpid`) to wait for them to complete. After all processes are done,
|
||||||
doing so is a bug.
|
return control to the user as usual (or, if in batch mode, move on to the next
|
||||||
|
line).
|
||||||
|
|
||||||
|
|
||||||
### Program Errors
|
### Program Errors
|
||||||
|
|||||||
Reference in New Issue
Block a user