As you have seen in Section 8.7, Editing Texts, 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 interface. To open a file named vacation.pdf in your home directory from a terminal window in KDE or GNOME, simply run xpdf ~/vacation.pdf to start a PDF viewer displaying your file.
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:
xpdf ~/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 (including the job number and their status):
tux@linux:~> jobs  Running kpdf opensuse111_startup-xep.pdf & - Running kpdf opensuse111_reference-xep.pdf & + 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 specific 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 xpdf 30187 pts/1 00:00:00 kate 30280 pts/1 00:00:00 ps
In case a program cannot be terminated in the normal way, use the kill command to stop the process (or processes) belonging to that program. To do so, specify the process ID (PID) shown by the output of ps. For example, to shut down the Kate editor in the example above, enter
This sends a TERM signal that instructs the program to shut itself down.
Alternatively, if the program or process you want to terminate is a background job and is shown by the jobs command, you can also use the kill command in combination with the job number to terminate this process:
kill % job number
If kill does not help—as is sometimes the case
kill -9 PID
This sends a KILL signal instead of a TERM signal, bringing the specified process to an end in most cases.
This section only aimed to introduce the most basic set of commands for
handling jobs and processes. Find an overview for system administrators
in Section 11.6,
Processes, (↑ Reference ).