You may decide that you shouldn’t have put a process in the background or the process is taking too long to execute. You can cancel a background process if you know its process ID.
The kill
command
terminates a process. This has the same result as using the
Finder’s Force Quit command. The
kill
command’s format is:
kill PID(s)
kill
terminates the designated process IDs (shown
under the PID heading in the ps
listing). If you
do not know the process ID, do a ps
first to
display the status of your processes.
In the following example, the sleep
n
command simply causes a process to
“go to sleep” for
n seconds. We enter two commands,
sleep
and who
, on the same
line, as a background process.
%(sleep 60; who)&
[1] 543 %ps
PID TT STAT TIME COMMAND 310 std S 0:00.52 -tcsh (tcsh) 543 std S 0:00.00 -tcsh (tcsh) 544 std S 0:00.01 sleep 60 545 std R+ 0:00.00 ps 459 p2 S+ 0:00.25 -tcsh (tcsh) %kill 544
# Terminated taylor console Feb 6 08:02 taylor ttyp1 Feb 6 08:30 taylor ttyp2 Feb 6 08:32 [1] Done ( sleep 60; who )
We decided that 60 seconds was too long to wait for the output of
who
. The ps
listing showed that
sleep
had the process ID number 544, so we use
this PID to kill the sleep
process. You should see a message like
“terminated” or
“killed”; if you
don’t, use another ps
command to
be sure the process has been killed.
In our example, the who
program is now executed
immediately, as it is no longer waiting on sleep
;
it lists the users logged into the system.
Some processes can be hard to kill. If a normal kill of these
processes is not working, enter kill
-9
PID
. This is a sure
kill and can destroy almost anything, including the shell that is
interpreting it.
In addition, if you’ve run an interpreted program (such as a shell script), you may not be able to kill all dependent processes by killing the interpreter process that got it all started; you may need to kill them individually. However, killing a process that is feeding data into a pipe generally kills any processes receiving that data.
18.227.111.208