So I start UML with the cmdline
./linux rootfstype=hostfs rw mem=1G init=/bin/bash
When the bash shell comes up, I run my prog : ./my_prog
6173 pts/8 00:00:00 linux
6180 pts/8 00:00:00 linux
6181 pts/8 00:00:00 linux
6182 pts/8 00:00:00 linux
6183 pts/8 00:00:00 linux
6188 pts/8 00:00:13 linux
The last item in the list with PID is 6188 is my program.
I can tell because my_prog increments a counter in an infinite loop
And consumes CPU cycles. It shows up on “top” as the dominant process.
1. /proc/6188/exe is invalid. Why ??
I mean, it doesn’t point to anything.
Shouldn’t it point to my_prog or something ?
2. What do the 4 UML processes 6173, 6180, 6181, 6182 do ? (6183 is /bin/bash whos “exe” symlink is also doesn’t point to anything !!)
3. When a UML process, say my_prog (PID 6188) makes a system call, where is the system call executed – is it within the addr space of 6173 (the UML kernel process) or 6188 (my_prog running in UML ??)