Canceling a Process

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.

kill

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. ...

Get Learning Unix for Mac OS X, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.