diff options
author | RossTheRoss <mstrapp@protonmail.com> | 2021-01-17 12:57:21 -0600 |
---|---|---|
committer | RossTheRoss <mstrapp@protonmail.com> | 2021-01-17 12:57:21 -0600 |
commit | dde37c31a72f4773e95faf8223ef450440bdb62c (patch) | |
tree | e238837d1d2f364b95483f6281960f9483078c1a /OLD/csci4061/100520_breakout | |
parent | IDK (diff) | |
download | homework-dde37c31a72f4773e95faf8223ef450440bdb62c.tar homework-dde37c31a72f4773e95faf8223ef450440bdb62c.tar.gz homework-dde37c31a72f4773e95faf8223ef450440bdb62c.tar.bz2 homework-dde37c31a72f4773e95faf8223ef450440bdb62c.tar.lz homework-dde37c31a72f4773e95faf8223ef450440bdb62c.tar.xz homework-dde37c31a72f4773e95faf8223ef450440bdb62c.tar.zst homework-dde37c31a72f4773e95faf8223ef450440bdb62c.zip |
get rid of that trash
Diffstat (limited to 'OLD/csci4061/100520_breakout')
-rw-r--r-- | OLD/csci4061/100520_breakout/exercise.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/OLD/csci4061/100520_breakout/exercise.c b/OLD/csci4061/100520_breakout/exercise.c new file mode 100644 index 0000000..6d560d5 --- /dev/null +++ b/OLD/csci4061/100520_breakout/exercise.c @@ -0,0 +1,47 @@ +/* +* Recitation Section Number: +* Breakout Number: +* Member Name +* Member Name +* Member Name +* Member Name +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <errno.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <string.h> +#define BUFSIZE 20 +#define PERM 0644 +int main(int argc, char *argv[]) { + int infile; char buffer[BUFSIZE]; + // create/open a file named write.txt + infile = open("write.txt", O_CREAT | O_RDWR | O_TRUNC, PERM); + // write hello world to write.txtS + write(infile, "hello world\n", 12); + // spawn a child process and use this child process to reroute stdout to write.txt + pid_t pid = fork(); + if (!pid) { + dup2(infile, 1); + } + // print pid + printf("Process %d\n", pid); + + // use the child process spawned previously to read the contents from write.txt, restore output to stdout + // and then prints the contents of write.txt to stdout. + if (!pid) { + read(infile, buffer, 20); + int stdout = open("/dev/tty", O_WRONLY); + dup2(1, stdout); + printf("%s\n", buffer); + return 0; + } + // print pid + printf("%d\n", pid); + // close the file write.txt + close(infile); + return 0; +}
\ No newline at end of file |