hce-node application
1.4.3
HCE Hierarchical Cluster Engine node application
Main Page
Namespaces
Classes
Files
File List
File Members
hce-node application
HCE project node model
Namespaces
Classes
Files
File List
sources
src
utils
algorithms
applicationFramework
asmXMLParser
base64
coreDumpChecker
DRCE
exec
samples
src
Command.cpp
Command.hpp
CommandExecutor.cpp
CommandExecutor.hpp
CommandResultData.cpp
CommandResultData.hpp
Process.cpp
Process.hpp
ProcessHandle.cpp
ProcessHandle.hpp
ProcExec.cpp
ProcExec.hpp
StarterExecutor.cpp
StarterExecutor.hpp
tests
HCECSM
jsonObjExtractor
kvdb
messageStream
reduceAdditionCore
reduceCore
reduceDRCE
reduceHandler
reduceSphinx
refine
serializable
sphinx
types
xmlCleaner
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Process.hpp
Go to the documentation of this file.
1
14
#ifndef PROCESS_HPP
15
#define PROCESS_HPP
16
17
#include <signal.h>
18
#include <functional>
19
#include <Poco/Process.h>
20
21
#include "
ProcessHandle.hpp
"
22
23
void
signalHandler
(
int
signum);
24
25
namespace
HCE
26
{
27
//-----------------------------------------------------------------------------
28
/* list all possible exit status use in launch */
29
enum
ExitStatus
30
{
31
SUCCESS
=0,
// exit status success (no errors)
32
ERROR_FDOPEN_WRITE
=1,
// error fdopen() write
33
ERROR_FDOPEN_READ
=2,
// error fdopen() read
34
ERROR_WAITPID
=3
// error waitpid()
35
};
36
//-----------------------------------------------------------------------------
37
//-----------------------------------------------------------------------------
38
class
Process
39
{
40
public
:
41
typedef
std::function<void(pid_t)>
CallbackFunction
;
42
43
static
ProcessHandle
launch
(
44
const
std::string&
command
,
45
const
Poco::Process::Args&
args
,
46
const
std::string&
initialDirectory
,
47
std::istream& in,
48
std::ostream& out,
49
std::ostream& err,
50
const
Poco::Process::Env&
env
,
51
CallbackFunction
fn);
52
53
static
ProcessHandle
launch
(
54
const
std::string&
command
,
55
const
Poco::Process::Args&
args
,
56
const
std::string&
initialDirectory
,
57
std::istream& in,
58
std::ostream& out,
59
std::ostream& err,
60
const
Poco::Process::Env&
env
);
61
62
static
ProcessHandle
launch
(
63
const
std::string&
command
,
64
const
Poco::Process::Args&
args
,
65
std::istream& in,
66
std::ostream& out,
67
std::ostream& err,
68
const
Poco::Process::Env&
env
);
69
70
static
ProcessHandle
launch
(
71
const
std::string&
command
,
72
const
Poco::Process::Args&
args
,
73
const
std::string&
initialDirectory
,
74
std::istream& in,
75
std::ostream& out,
76
std::ostream& err);
77
78
static
ProcessHandle
launch
(
79
const
std::string&
command
,
80
const
Poco::Process::Args&
args
,
81
std::istream& in,
82
std::ostream& out,
83
std::ostream& err);
84
85
static
ProcessHandle
launch
(
86
const
std::string&
command
,
87
const
Poco::Process::Args&
args
,
88
const
std::string&
initialDirectory
);
89
90
static
ProcessHandle
launch
(
91
const
std::string&
command
,
92
const
Poco::Process::Args&
args
);
93
94
static
void
requestKill
(
ProcessHandle
& handle,
unsigned
int
signum);
95
static
void
requestKill
(pid_t
pid
,
unsigned
int
signum);
96
97
static
void
requestKill
(
ProcessHandle
& handle);
98
static
void
requestKill
(pid_t
pid
);
99
100
static
void
requestTermination
(
ProcessHandle
& handle);
101
static
void
requestTermination
(pid_t
pid
);
102
103
static
std::string
processStatus
(
ProcessHandle
& handle);
104
static
std::string
processStatus
(pid_t
pid
);
105
106
static
ProcessHandle
processParent
(
ProcessHandle
& handle);
107
static
ProcessHandle
processParent
(pid_t
pid
);
108
109
static
bool
isExistProcess
(
ProcessHandle
& handle);
110
static
bool
isExistProcess
(pid_t
pid
);
111
112
static
pid_t
id
(
void
);
113
private
:
114
static
void
writeToPipe(
int
fd,
const
std::string& inputData=
""
);
115
static
void
readFromPipe(
int
fd, std::stringstream& os);
116
static
std::string toString(std::istream& in);
117
};
118
//-----------------------------------------------------------------------------
119
//-----------------------------------------------------------------------------
120
}
// end namespace HCE
121
122
#endif // PROCESS_HPP
sources
utils
exec
src
Process.hpp
Generated on Tue Jun 30 2015 19:42:13 for hce-node application by
1.8.1.2