## View and send signals to active processes ##

[Author](authors.html): hubertf _[[contact]]_ _[[BSD_flavour]]_

[Reviewer](technical_reviewers.html): _name_ _[[contact]]_ _[[BSD_flavour]]_

[Reviewer](technical_reviewers.html): _name_ _[[contact]]_ _[[BSD_flavour]]_

----



### Concept ###

Be familiar with both the names and numbers
of the most commonly used Unix signals(((signals))) and how to
send a signal to an active process. Recognize
the difference between a SIGTERM(((SIGTERM))) and a SIGKILL(((SIGKILL))).


### Introduction ###

Section [[Determine_which_process_are_consuming_the_most_CPU]] talks about processes, and how to list and manage them. This topic is covered in a bit more depth here, by listing other tools besides kill(1):

 * **pgrep(1)(((pgrep))):** Many times you will find yourself wanting to look for a certain process, using a pipeline of "ps ... | grep ...". The pgrep(1) command automates this - you give it a programm name, and it will print the process ID of the process(es) that match the command name. This command is available on all BSD systems.

 * **pkill(1)(((pkill))):** Like pgrep(1) this command looks throught the list of processes running on a system, and sends a certain signal to all processes matching a given name. 

 * **killall(1)(((killall))):** This command performs the same operation as pkill(1). It is only available on FreeBSD, its existance predates that of pkill(1). 

### Examples ###

See section [[Determine_which_process_are_consuming_the_most_CPU]] for examples on using ps(1) and kill(1). The following example achieves the same goal with the commands introduced here:

    # pgrep -lf named
    338 /usr/sbin/named -u bind
    # pgrep named
    338
    # kill named
    # pgrep named
    #


### Practice Exercises ###

See section [[Determine_which_process_are_consuming_the_most_CPU]] and perform the same tasks with pgrep(1) and pkill(1).


### More information ###

ps(1); kill(1); killall(1); pkill(1); pgrep(1)


