Messages in this thread | | | Date | Thu, 12 Nov 1998 20:26:02 +0100 (MET) | From | Koblinger Egmont <> | Subject | /proc/non-existent-pid/ |
| |
Hi folks!
Several weeks ago I reported a bug. No answer came, and the bug is still present in 2.1.127. :-( So I send the report again.
It's possible that an entry remains in the proc fs after the command has exited. It seems to me that it happens if we run an `ls -l' command in the /proc/$pid/fd directory while the command runs. After command exits, `ls /proc' does not write its pid, but /proc/$pid still exists. See the log file at the end of the message.
Two more questions about /proc/$pid/fd: 1. Instead of 64, could the "correct" length of the symlinks be returned? 2. When a file is deleted, the string "/tmp/x (deleted)" could rather be "deleted:/tmp/x". This is because it's more similar to the pipe: and socket: ones, and a normal file _can_ have the name "/tmp/x (deleted)" so it cannot be told whether this really means a deleted file. On the other hand, "deleted:/tmp/x" can not be the full name of a real file. So it would be more simplier and more consequent to parse the "deleted:/tmp/x" notation within a program.
Bye Egmont Koblinger <egmont@math.bme.hu>
Here is the log file how I can invoke the bug: egmont $ sleep 10 & [1] 182 egmont $ ls -l /proc/182/fd total 0 lrwx------ 1 egmont pupil 64 Oct 20 20:50 0 -> /dev/ttyp0 lrwx------ 1 egmont pupil 64 Oct 20 20:50 1 -> /dev/ttyp0 lrwx------ 1 egmont pupil 64 Oct 20 20:50 2 -> /dev/ttyp0 egmont $ ##### wait ten seconds [1]+ Done sleep 10 egmont $ ls /proc | grep 182 egmont $ ls -l /proc/182 ls: /proc/182/exe: Permission denied ls: /proc/182/root: Permission denied ls: /proc/182/cwd: Permission denied total 0 -r--r--r-- 1 root root 0 Oct 20 20:50 cmdline -r--r--r-- 1 root root 0 Oct 20 20:50 cpu lrwx------ 1 root root 0 Oct 20 20:50 cwd -r-------- 1 root root 0 Oct 20 20:50 environ lrwx------ 1 root root 0 Oct 20 20:50 exe dr-x------ 2 egmont pupil 0 Oct 20 20:50 fd pr--r--r-- 1 root root 0 Oct 20 20:50 maps -rw------- 1 root root 0 Oct 20 20:50 mem lrwx------ 1 root root 0 Oct 20 20:50 root -r--r--r-- 1 root root 0 Oct 20 20:50 stat -r--r--r-- 1 root root 0 Oct 20 20:50 statm -r--r--r-- 1 root root 0 Oct 20 20:50 status egmont $ ##### well, that's it
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |