Чтобы получить процессы Linux и отобразить их имена, существует несколько способов. Вот несколько примеров использования разных языков программирования:
-
Bash (Shell):
#!/bin/bash ps -e -o comm
-
Python с использованием библиотеки
psutil
:import psutil for proc in psutil.process_iter(['name']): print(proc.info['name'])
-
C с использованием файловой системы
proc
:#include <stdio.h> #include <dirent.h> int main() { DIR *dir = opendir("/proc"); struct dirent *entry; while ((entry = readdir(dir)) != NULL) { if (entry->d_type == DT_DIR) { int pid = atoi(entry->d_name); if (pid != 0) { char path[256]; snprintf(path, sizeof(path), "/proc/%d/comm", pid); FILE *file = fopen(path, "r"); if (file) { char comm[256]; fgets(comm, sizeof(comm), file); fclose(file); printf("%s", comm); } } } } closedir(dir); return 0; }
-
Java с использованием пакета
java.lang.management
:import java.lang.management.ManagementFactory; public class ProcessList { public static void main(String[] args) { for (var process : ManagementFactory.getOperatingSystemMXBean().getOperatingSystem().getProcesses()) { System.out.println(process.getProcessName()); } } }