C++ コードを使用して、root 権限を持たずに実行中のプロセス (実行可能ファイル) のフル パスを取得したいと考えています。誰かがこれを達成する方法を提案できますか?
Linux プラットフォームでは、次の方法を使用して実行できます。
char exepath[1024] = {0};
char procid[1024] = {0};
char exelink[1024] = {0};
sprintf(procid, "%u", getpid());
strcpy(exelink, "/proc/");
strcat(exelink, procid);
strcat(exelink, "/exe");
readlink(exelink, exepath, sizeof(exepath));
ここで、exepath は実行可能ファイルのフル パスを示します。
同様に、ウィンドウの場合は、
GetModuleFileName(NULL, exepath, sizeof(exepath)); /* get fullpath of the service */
HP-UX には /proc ディレクトリがないため、HP-UX での実行方法を教えてください。