Every process in Linux is represented by a directory in /proc. For example, if your Firefox process has a PID of 6849, then the directory /proc/6849 will represent the Firefox process:
root@ubuntu-linux:~# pgrep firefox
6849
root@ubuntu-linux:~# cd /proc/6849
root@ubuntu-linux:/proc/6849#
Inside a process' directory, you can find a lot of valuable and insightful information about the process. For example, you will find a soft link named exe that points to the process' executable file:
root@ubuntu-linux:/proc/6849# ls -l exe
lrwxrwxrwx 1 elliot elliot 0 Nov 21 18:02 exe -> /usr/lib/firefox/firefox
You will also find the status file, which stores various pieces of information about a process; these include the process state, the PPID, the amount of memory used by the process, and so on:
root@ubuntu-linux:/proc/6849# head status
Name: firefox
Umask: 0022
State: S (sleeping) Tgid: 6849
Ngid: 0
Pid: 6849
PPid: 1990
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 1000 1000...