boost库下process写守护进程

让人想犯罪 __ 提交于 2019-12-19 18:07:16

#include <iostream>
#include <boost/process.hpp>
#include <filesystem>

int main(int argc, char* argv[]) {

 //此进程一定要防止多开

 std::string exe_name("C:\\Users\\yinpinghua\\source\\repos\\ConsoleApplication2\\x64\\Debug\\ConsoleApplication2.exe");

    //c++17语法
    if (!std::filesystem::exists(exe_name))
    {
        std::cout << "进程不存在" << std::endl;
        return 0;
    }

    while (true)
    {
        try
        {
            //输入到控制台上
            boost::process::child child_process(exe_name, boost::process::std_out > stdout, boost::process::std_err > stderr);
            child_process.wait();
        }
        catch (const std::exception & e)
        {
            std::cout << e.what() << std::endl;
            return 0;
        }
        catch (...)
        {
            int i = 10;
            return 0;
        }
        std::this_thread::sleep_for(std::chrono::seconds(1));
    }
    return 0;
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!