考慮這個EXECL中分離線程 - 查殺方法(C++ STD 11)
#include <cstdio>
#include <iostream>
#include <fstream>
#include <sstream>
#include <cstdlib>
#include <vector>
#include <string>
#include <iterator>
#include <cmath>
#include <thread>
#include <cerrno>
#include <cstring>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <getopt.h>
#include <boost/algorithm/string.hpp>
#include "utils.cpp"
#include "pstream.h"
//pstream is the process stream library as below
void doThings()
{
while(not exitflag, a global){
if(some condition) {execl (a bash script); std:cout << "this text will never get printed, process ends at execl" <<endl;}
}}}
int main()
{//detach doThings as a thread here
}
我可以保證的是,全球exitflag沒有設置,也將被印在std ::法院線,甚至標誌被設置,因爲在打印信息之前,沒有命令可以中斷並跳到結尾,以便解除終止。
我做錯了什麼?順便說一句:shell腳本運行完美。
編輯:(感謝MiniTech移動)我不想原單程序死
並行線程:http://sourceforge.net/projects/pstreams/files/pstreams/Release%200.8.x/
我不知道你在問什麼。你能否展示你得到的結果和你期望的結果? – Ryan