#include <sys/wait.h>
#include <stdio.h>
#include <unistd.h>
#include <error.h>
#include <stdlib.h>
#include <string.h>
#define MAXLINE 64
int
main (void)
{
pid_t pid;
char buf [MAXLINE];
int status;
//printf (">>");
while (fgets (buf, MAXLINE, stdin) != NULL/*read (0, buf, MAXLINE)*/) {
if (buf [strlen (buf) - 1] == '\n') {
buf [strlen (buf) - 1] = '\0';
}
printf ("%s\n", buf);
if ((pid = fork ()) < 0) {
printf ("fork failed\n");//perror ("fork failed\n");
} else if (pid == 0) {
execlp (buf, buf, (char *)0);
printf ("exec failed\n");//perror ("could't execute: %s\n", buf);
exit (127);
}
if (pid = waitpid (pid, &status, 0) < 0) {
printf ("wait failed\n");
}
buf [0] = '\0';
//printf (">>");
}
exit (0);
}
#include <stdio.h>
#include <unistd.h>
#include <error.h>
#include <stdlib.h>
#include <string.h>
#define MAXLINE 64
int
main (void)
{
pid_t pid;
char buf [MAXLINE];
int status;
//printf (">>");
while (fgets (buf, MAXLINE, stdin) != NULL/*read (0, buf, MAXLINE)*/) {
if (buf [strlen (buf) - 1] == '\n') {
buf [strlen (buf) - 1] = '\0';
}
printf ("%s\n", buf);
if ((pid = fork ()) < 0) {
printf ("fork failed\n");//perror ("fork failed\n");
} else if (pid == 0) {
execlp (buf, buf, (char *)0);
printf ("exec failed\n");//perror ("could't execute: %s\n", buf);
exit (127);
}
if (pid = waitpid (pid, &status, 0) < 0) {
printf ("wait failed\n");
}
buf [0] = '\0';
//printf (">>");
}
exit (0);
}