• Uncategorized

About c : Using-linux-commands-in-C-source-code

Question Detail

I want to use Linux commands in C source code.

Can I use the System() function? Is this possible on Linux?

If I can’t use System() function, what should I do? I want to “tar xvf example.tar”.

Question Answer

You can use system() and exec() functions

If you just want to execute shell command and not looking for any return value then you can use system() function call.

Using system call is not advisable (see system man page). I would recommend you using exec() which should be invoked in child process after doing fork().

The next alternative can be using popen().

    piff = (FILE *)popen("ls -l", "r");
    if (piff == (FILE *)0)
            return (-1);
    while ((i = read(fileno(piff), buff, sizeof (buf))) == -1) {
    if (errno != EINTR) {
        break;
    }
    (void)pclose(piff);

You may also like...

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.