I need to send a signal to a process and when the process receives this signal it does some things, how is this best achieved in C?
If you happen to be on one of the Unix variants, the following man pages will help:
man 2 kill man 2 signal man 2 sigvec