Added uid, euid, gid, egid, pid and ppid parameters to a live process.
--HG-- extra : convert_revision : 2101be8000bcdaf683730cfc079b4b78e34365d0
This commit is contained in:
parent
14cc9baba5
commit
96dabdc9b0
|
@ -11,6 +11,12 @@ class LiveProcess(Process):
|
|||
cmd = VectorParam.String("command line (executable plus arguments)")
|
||||
env = VectorParam.String('', "environment settings")
|
||||
input = Param.String('cin', "filename for stdin")
|
||||
uid = Param.Int(100, 'user id')
|
||||
euid = Param.Int(100, 'effective user id')
|
||||
gid = Param.Int(100, 'group id')
|
||||
egid = Param.Int(100, 'effective group id')
|
||||
pid = Param.Int(100, 'process id')
|
||||
ppid = Param.Int(99, 'parent process id')
|
||||
|
||||
class AlphaLiveProcess(LiveProcess):
|
||||
type = 'AlphaLiveProcess'
|
||||
|
|
|
@ -460,6 +460,12 @@ BEGIN_DECLARE_SIM_OBJECT_PARAMS(LiveProcess)
|
|||
Param<string> output;
|
||||
VectorParam<string> env;
|
||||
SimObjectParam<System *> system;
|
||||
Param<uint64_t> uid;
|
||||
Param<uint64_t> euid;
|
||||
Param<uint64_t> gid;
|
||||
Param<uint64_t> egid;
|
||||
Param<uint64_t> pid;
|
||||
Param<uint64_t> ppid;
|
||||
|
||||
END_DECLARE_SIM_OBJECT_PARAMS(LiveProcess)
|
||||
|
||||
|
@ -471,7 +477,13 @@ BEGIN_INIT_SIM_OBJECT_PARAMS(LiveProcess)
|
|||
INIT_PARAM(input, "filename for stdin (dflt: use sim stdin)"),
|
||||
INIT_PARAM(output, "filename for stdout/stderr (dflt: use sim stdout)"),
|
||||
INIT_PARAM(env, "environment settings"),
|
||||
INIT_PARAM(system, "system")
|
||||
INIT_PARAM(system, "system"),
|
||||
INIT_PARAM(uid, "user id"),
|
||||
INIT_PARAM(euid, "effective user id"),
|
||||
INIT_PARAM(gid, "group id"),
|
||||
INIT_PARAM(egid, "effective group id"),
|
||||
INIT_PARAM(pid, "process id"),
|
||||
INIT_PARAM(ppid, "parent process id")
|
||||
|
||||
END_INIT_SIM_OBJECT_PARAMS(LiveProcess)
|
||||
|
||||
|
|
|
@ -75,6 +75,16 @@ class Process : public SimObject
|
|||
// number of CPUs (esxec contexts, really) assigned to this process.
|
||||
unsigned int numCpus() { return threadContexts.size(); }
|
||||
|
||||
// Id of the owner of the process
|
||||
uint64_t uid;
|
||||
uint64_t euid;
|
||||
uint64_t gid;
|
||||
uint64_t egid;
|
||||
|
||||
// pid of the process and it's parent
|
||||
uint64_t pid;
|
||||
uint64_t ppid;
|
||||
|
||||
// record of blocked context
|
||||
struct WaitRec
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue