coproc help – a new feature in bash

\"Screenshot
Image via Wikipedia

In the bash version 4.0, there is a new concept called coproc. This is very useful for some of the daily tasks.

co-process starts a process in the background, optionally with a NAME, with which other processes can communicate. This can be a very good substitution for pipes in lots of cases. You can learn more about coproc in the link below:

The coproc keyword [Bash Hackers Wiki]

From the man page for bash:
Coprocesses
A coprocess is a shell command preceded by the coproc reserved word. A
coprocess is executed asynchronously in a subshell, as if the command
had been terminated with the & control operator, with a two-way pipe
established between the executing shell and the coprocess.

The format for a coprocess is:

coproc [NAME] command [redirections]

This creates a coprocess named NAME. If NAME is not supplied, the
default name is COPROC. NAME must not be supplied if command is a sim-
ple command (see above); otherwise, it is interpreted as the first word
of the simple command. When the coproc is executed, the shell creates
an array variable (see Arrays below) named NAME in the context of the
executing shell. The standard output of command is connected via a
pipe to a file descriptor in the executing shell, and that file
descriptor is assigned to NAME[0]. The standard input of command is
connected via a pipe to a file descriptor in the executing shell, and
that file descriptor is assigned to NAME[1]. This pipe is established
before any redirections specified by the command (see REDIRECTION
below). The file descriptors can be utilized as arguments to shell
commands and redirections using standard word expansions. The process
id of the shell spawned to execute the coprocess is available as the
value of the variable NAME_PID. The wait builtin command may be used
to wait for the coprocess to terminate.

\"Reblog

View entire process string

\"Solaris
Image via Wikipedia

$ /usr/ucb/ps -auxgww Depending on your installation, when you run ps you will only get the first 40 or so characters displayed. In order to view the entire string, use /usr/ucb/ps on Solaris.

URL: http://feedproxy.google.com/~r/Command-line-fu/~3/3y5LUukdRu8/view-entire-process-string

\"Reblog