我在Stack Overflow上提了一个问题:linux - what’s the difference between /proc/self and /proc/$$? - Stack Overflow
回答如下:
$$是一个特殊的bash变量,它被扩展到shell的pid。
/proc/self是一个真正的符号链接,指向/proc/正在进行调用的进程的子目录。
当你执行ls /proc/ $$时,shell将它展开到ls /proc/pid-of-bash你看到的内容,即shell进程的内容。
但是当你ls /proc/self,你会看到短暂ls过程的内容。
$$不限于这种用法,你可以写echo $$,看bash的PID; 你可以用它来杀死自己,等等。

博客围绕在Stack Overflow上提出的问题展开,探讨Linux里/proc/self和/proc/$$的区别。指出$$是特殊bash变量,会扩展到shell的pid;/proc/self是符号链接,指向调用进程的子目录,还介绍了二者不同使用场景下的表现。
1190





