c++17怎么使用std::filesystem::path获取linux当前进程名
时间: 2023-08-03 10:04:54 浏览: 190
使用std::filesystem::path获取当前进程名需要用到Linux下的/proc文件系统,具体步骤如下:
1. 头文件包含:
```
#include <filesystem>
#include <fstream>
```
2. 获取当前进程ID:
```
pid_t pid = getpid();
```
3. 将进程ID转换为/proc下的路径:
```
std::filesystem::path proc_path = std::filesystem::path("/proc") / std::to_string(pid);
```
4. 获取/proc下进程名:
```
std::string proc_name;
std::ifstream(proc_path / "comm") >> proc_name;
```
完整代码如下:
```
#include <filesystem>
#include <fstream>
#include <unistd.h>
int main() {
pid_t pid = getpid();
std::filesystem::path proc_path = std::filesystem::path("/proc") / std::to_string(pid);
std::string proc_name;
std::ifstream(proc_path / "comm") >> proc_name;
std::filesystem::path path = std::filesystem::path(proc_name);
return 0;
}
```
阅读全文