GrabBag/VrUtils/Src/VrShellUtils.cpp
2025-06-08 12:48:04 +08:00

44 lines
723 B
C++
Raw 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.

#include "VrShellUtils.h"
#include <thread>
#include <chrono>
#include <stdlib.h>
#include <sys/stat.h>
#include <string.h>
#ifndef _WIN32
#include <sys/wait.h>
#include <sys/ioctl.h>
#endif
/// @brief
/// Ö´ÐÐShellÃüÁî
/// <param name="data">[in]ShellÃüÁî</param>
int CVrShellUtils::ExecuCMD(const char *data)
{
int ret = 0;
#ifndef _WIN32
while (true)
{
ret = system(data);
if (WIFSIGNALED(ret) && (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))
{
if (ret == 512)
{
break;
}
std::this_thread::sleep_for(std::chrono::seconds(1));
continue;
}
else
{
#ifdef SHELL_PRINT
LOG_DEBUG("execu %s successful code:%d", data, ret);
#endif
break;
}
break;
}
#endif
return ret;
}