hello-world-cpp/task_3/process_launcher.h
2025-01-10 14:44:36 +10:00

34 lines
998 B
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifdef _WIN32
#include <windows.h>
#else
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#endif
#include <string>
class ProcessLauncher {
public:
// Запуск программы в фоновом режиме
static int launch(const std::string& command);
// Ожидание завершения процесса и получение его кода возврата
static int waitForProcess(int pid);
// проверка запущен ли процесс
static int isProcessActive(int pid);
private:
#ifdef _WIN32
// Для Windows
static int launchWindows(const std::string& command);
static int waitForProcessWindows(HANDLE processHandle);
static int isProcessActiveWindows(HANDLE processHandle);
#else
// Для UNIX-подобных систем
static int launchUnix(const std::string& command);
static int waitForProcessUnix(pid_t pid);
static int isProcessActiveUnix(pid_t pid);
#endif
};