例えば、Oracle Database の PMON プロセスがどのディレクトリから起動されたか調べてみる。
まず、PMON プロセスの PID を確認して、
$ ps aux|grep pmon oracle 2872 0.0 0.1 2607684 4576 ? Ss Jun06 0:00 ora_pmon_orcl oracle 26709 0.0 0.0 61184 748 pts/3 S+ 02:11 0:00 grep pmon
/proc/
$ ls -l /proc/2872/cwd lrwxrwxrwx 1 oracle oinstall 0 Jun 23 02:10 /proc/2872/cwd -> /u01/app/oracle/product/10.2.0/db_1/dbs
/u01/app/oracle/product/10.2.0/db_1/dbs で起動されたということがわかる。
そういえば、パス指定せずに create pfile='pfile.ora' from spfile; とかすると、$ORACLE_HOME/dbs にファイルができますね。
詳しくは、man proc で。
$ man proc PROC(5) Linux Programmer’s Manual PROC(5) NAME proc - process information pseudo-filesystem DESCRIPTION ... /proc/[number]/cwd This is a symbolic link to the current working directory of the process. ... cd /proc/20/cwd; /bin/pwd Note that the pwd command is often a shell builtin, and might not work properly.... In a multithreaded process, the contents of this symbolic link are not available ...