By liran bh | 5/16/2016 | Linux User Space

fork and signal Example

/* fork and signal */
#include<stdio.h>
#include<unistd.h>
#include<signal.h>
#include<sys/wait.h>
#include<sys/types.h>
 
void sig_child(int sig)
{
    pid_t pid;
    int stat;
    puts("signal");
    while((pid=waitpid(-1,&stat,WNOHANG)) > 0)
        printf("child %d terminated\n",pid);
    return;
}
 
void sig_key(int sig)
{
    puts("ctrl + C");
}
 
int main()
{
    signal(SIGINT,sig_key);
    signal(SIGCHLD,sig_child);
    if(fork())
    {
        puts("hello world!!!");
        sleep(5);
    }
    else
    {
        execve("/bin/ls",NULL,NULL);
        puts("after");
    }
    return 1;
}

{{CommentsModel.TotalCount}} Comments

Your Comment

{{CommentsModel.Message}}

Recent Stories

Top DiscoverSDK Experts

User photo
3355
Ashton Torrence
Web and Windows developer
GUI | Web and 11 more
View Profile
User photo
3220
Mendy Bennett
Experienced with Ad network & Ad servers.
Mobile | Ad Networks and 1 more
View Profile
User photo
3060
Karen Fitzgerald
7 years in Cross-Platform development.
Mobile | Cross Platform Frameworks
View Profile
Show All
X

Compare Products

Select up to three two products to compare by clicking on the compare icon () of each product.

{{compareToolModel.Error}}

Now comparing:

{{product.ProductName | createSubstring:25}} X
Compare Now