ultimatepp/uppdev/pid/pid.cpp
cxl fccb40bd60 syncing uppdev
git-svn-id: svn://ultimatepp.org/upp/trunk@579 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2008-10-31 09:21:16 +00:00

26 lines
439 B
C++

#include <Core/Core.h>
using namespace Upp;
String GetPidExePath(int pid)
{
static char h[_MAX_PATH + 1];
char link[100];
#ifdef PLATFORM_FREEBSD
sprintf(link, "/proc/%d/file", pid);
#else
sprintf(link, "/proc/%d/exe", pid);
#endif
int ret = readlink(link, h, _MAX_PATH);
if(ret > 0 && ret < _MAX_PATH)
h[ret] = '\0';
else
*h = '\0';
return h;
}
CONSOLE_APP_MAIN
{
DUMP(GetExeFilePath());
DUMP(GetPidExePath(getpid()));
}