The pipe is also often used in combination with the grep command in order
to search for a certain string in the output of another command. For example,
if you want to view a list of les in a directory which are owned by the user
tux, enter
ls -l | grep tux
17.11 Starting Programs and Handling Processes
As you have seen in Section 17.7, “Editing Texts” (page 208), programs can be
started from the shell. Applications with a graphical user interface need the X Window
System and can only be started from a terminal window within a graphical user in-
terface. For example, if you want to open a le named vacation.pdf in your home
directory from a terminal window in KDE or GNOME, simply run okular ~/vacation.pdf
(or evince ~/vacation.pdf) to start a PDF viewer displaying your le.
When looking at the terminal window again you will realize that the command line
is blocked as long as the PDF viewer is open, meaning that your prompt is not
available. To change this, press [Ctrl] + [Z] to suspend the process and enter bg to
send the process to the background. Now you can still have a look at vacation.pdf
while your prompt is available for further commands. An easier way to achieve this
is by sending a process to the background directly when starting it. To do so, add
an ampersand at the end of the command:
okular ~/vacation.pdf &
If you have started several background processes (also named jobs) from the same
shell, the jobs command gives you an overview of the jobs. It also shows the job
number in brackets and their status:
tux@linux:~> jobs
[1] Running okular book.opensuse.startup-xep.pdf &
[2]- Running okular book.opensuse.reference-xep.pdf &
[3]+ Stopped man jobs
To bring a job to the foreground again, enter fg
job_number
.
Whereas job only shows the background processes started from a specic shell, the
ps command (run without options) shows a list of all your processes—those you
started. Find an example output below:
tux@linux:~> ps
PID TTY TIME CMD
15500 pts/1 00:00:00 bash
28214 pts/1 00:00:00 okular
30187 pts/1 00:00:00 kwrite
30280 pts/1 00:00:00 ps
Shell Basics 213