/* SPDX-FileCopyrightText: 2021 Tobias C. Berner SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL */ #include #include #include #include "executable_path.h" QString executablePathFromPid(pid_t pid) { const int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, static_cast(pid)}; char buf[MAXPATHLEN]; size_t cb = sizeof(buf); if (sysctl(mib, 4, buf, &cb, nullptr, 0) == 0) { return QString::fromLocal8Bit(realpath(buf, nullptr)); } return QString(); }