richardoneill.com.au » Articles » Creating a Process in C

Creating a Process in C

17 July 2007 Programming

I won't list reasons why every programmer should know C because there have already been numerous discussions on the subject.

As a programmer, you can decide for yourself whether learning C will benefit your career.

I've chosen to start writing a small project in C so I can get a better knowledge of pointers, structs and memory allocation.

I'm going to share a small snippet of code which creates a process in Unix. You might find this interesting if you've never seen C code before.

Processes are created using the fork() function, which basically makes a copy of the existing process running and assigns a new process id (PID) to the child process. The rest of the code is fairly self explanatory.


#include <stdio.h>


/* the main() function is automatically executed... */

int main()
{

    /* fork the process */

    int p_id = fork();



    /* this is the code the child process will execute */

    if(p_id == 0)
    {

        /* endless loop */

        for(;;)
        {

            printf("Im a child processn");
            sleep(10);

        }


    }


    /* close the parent process */

    exit(0);

}

Save and compile the code using gcc (gcc process.c -o process). The process should now be listed in the process list (type ps -aux in unix).

psaux

Comment on this article
Name
Website
Canberra Web Design