# coproc > Bash builtin for creating interactive asynchronous subshells. > More information: . - Run a subshell asynchronously: `coproc { {{command1; command2; ...}}; }` - Create a coprocess with a specific name: `coproc {{name}} { {{command1; command2; ...}}; }` - Write to a specific coprocess `stdin`: `echo "{{input}}" >&"${{{name}}[1]}"` - Read from a specific coprocess `stdout`: `read {{variable}} <&"${{{name}}[0]}"` - Create a coprocess which repeatedly reads `stdin` and runs some commands on the input: `coproc {{name}} { while read line; do {{command1; command2; ...}}; done }` - Create and use a coprocess running `bc`: `coproc BC { bc --mathlib; }; echo "1/3" >&"${BC[1]}"; read output <&"${BC[0]}"; echo "$output"`