2023-05-11 16:19:53 +03:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
2023-05-28 18:08:26 +03:00
|
|
|
#include <unistd.h>
|
2023-05-11 16:19:53 +03:00
|
|
|
|
|
|
|
#define ERROR(msg) { perror(msg); return 1; }
|
|
|
|
#define BUF_SIZE 1024
|
|
|
|
|
|
|
|
int main()
|
|
|
|
{
|
2023-05-29 21:06:09 +03:00
|
|
|
printf("userspace\n");
|
2023-05-28 20:37:39 +03:00
|
|
|
|
2023-05-31 20:57:33 +03:00
|
|
|
if (fork() == 0)
|
2023-05-11 16:19:53 +03:00
|
|
|
{
|
2023-05-31 20:57:33 +03:00
|
|
|
char* argv[3];
|
|
|
|
argv[0] = (char*)malloc(100); strcpy(argv[0], "/usr/bin/cat");
|
|
|
|
argv[1] = (char*)malloc(100); strcpy(argv[1], "/usr/include/kernel/kprint.h");
|
|
|
|
argv[2] = NULL;
|
|
|
|
execv("/usr/bin/cat", (char**)argv);
|
|
|
|
ERROR("execl");
|
2023-05-28 18:08:26 +03:00
|
|
|
return 0;
|
2023-05-11 16:19:53 +03:00
|
|
|
}
|
2023-05-28 21:34:35 +03:00
|
|
|
|
2023-05-31 20:57:33 +03:00
|
|
|
printf("parent\n");
|
2023-05-11 16:19:53 +03:00
|
|
|
return 0;
|
|
|
|
}
|