• Nov 19, 2022 •CodeCatch
0 likes • 0 views
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> int main() { char * cmd[] = { "who", "ls", "date" }; int i; while (1) { printf("0=who 1=ls 2=date : "); scanf("%d", & i); if (fork() == 0) { /* child */ execlp(cmd[i], cmd[i], (char * ) 0); printf("execlp failed\n"); exit(1); } else { /* parent */ wait((int * ) 0); printf("child finished\n"); } } /* while */ } /* main */
0 likes • 2 views
#include <stdio.h> #include <sys/types.h> #include <unistd.h> int main() { pid_t pid; /* could be int */ int i; pid = fork(); printf("PID=%d\n", pid); if (pid > 0) { /* parent */ for (i = 0; i < 10; i++) printf("\t\t\tPARENT %d\n", i); } else { /* child */ for (i = 0; i < 10; i++) printf("CHILD %d\n", i); } return 0; }
#include <stdio.h> #include <unistd.h> int main() { char * cmd[] = { "who", "ls", "date" }; int i; printf("0=who 1=ls 2=date : "); scanf("%d", & i); execlp(cmd[i], cmd[i], (char * ) 0); printf("execlp failed\n"); return 0; }
0 likes • 1 view
#include <stdio.h> #include <assert.h> #include <signal.h> void myHandler(int iSig) { printf("In myHandler with argument %d\n", iSig); } int main() { void( * pfRet)(int) = signal(SIGINT, myHandler); assert(pfRet != SIG_ERR); printf("Entering an infinite loop\n"); while (1) { printf("."); } return 0; // use CTRL+\ to exit }
#include <stdio.h> #include <sys/types.h> #include <unistd.h> int glbvar = 6; int main() { int locvar = 88; pid_t pid; printf("Before fork()\n"); if ((pid = fork()) == 0) { /* child */ glbvar++; locvar++; } else if (pid > 0) { /* parent */ sleep(2); } else perror("fork error"); printf("pid=%d, glbvar=%d, locvar=%d\n", getpid(), glbvar, locvar); return 0; } /* end main */
• May 13, 2025 •LeifMessinger
0 likes • 3 views
#include <stdio.h> #include <stdlib.h> calculate(a, b) int a; int b; { printf("%d", a+b); } main(argc, argv) int argc; char** argv; { if(argc < 3){ return 0; } calculate(atoi(argv[1]), atoi(argv[2])); }