diff options
Diffstat (limited to 'userspace')
| -rw-r--r-- | userspace/init.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/userspace/init.c b/userspace/init.c index 255b274..e432ef9 100644 --- a/userspace/init.c +++ b/userspace/init.c @@ -4,11 +4,11 @@ * * */ +#define LAUNCH_COUNT 0 static char *env1[]={"HOME=/home/miguel","PS1=\033[34m$\033[37m","PWD=/home/miguel","PATH=/bin","TERM=fool-term",0}; static char *argv1[]={"xterm","/bin/fsh",0}; /* -#define LAUNCH_COUNT 3 char *argv1[][4]={ {"/bin/xterm","xterm","/bin/fsh",0}, @@ -17,24 +17,30 @@ char *argv1[][4]={ }; */ -void fork_and_exec(char **argv) +void fork_and_exec() { int pid=fork(); - if(!pid) //child { - execve(argv[0],&argv[1],env1); + execve("/bin/xterm",argv1,env1); } } int main(int argc, char **argv) { - execve("/bin/xterm",argv1,env1); - /* + int pid=fork(); + for(int i=0;i<LAUNCH_COUNT;i++) { - fork_and_exec(argv1[i]); + fork_and_exec(); + } + + int tty_fd=_open("/dev/tty"); + + while(1) + { + char buf[1]; + read(tty_fd,buf,1); // + fork_and_exec(); } - wait(999);/// TODO: here we should wait for commnads to spawn new processes? - */ } |
