8d1654a3c5fdae6f0b546638e624ccb3ba04b07d
[vsys-scripts.git] / root-context / exec / prox
1 #!/usr/bin/python
2
3 MAX_LOCKED_MEMSIZE = 1024 * 1024 * 1024  # 1 GB
4 SHMMAX = 1024 * 1024 * 1024   # 1 GB
5
6 SLICE = "princeton_vcoblitz"
7
8 import os
9 import sys
10 import resource
11
12 if __name__ == "__main__":
13
14    # expand lockable memory
15    resource.setrlimit( resource.RLIMIT_MEMLOCK, (MAX_LOCKED_MEMSIZE, MAX_LOCKED_MEMSIZE) )
16   
17    # ensure that shmmax is big enough.
18    os.system( "vspace -e " + SLICE + " --ipc sysctl -w kernel.shmmax=" + str(SHMMAX) )
19    
20    # we'll echo argv into the prox pipe
21    args = sys.stdin.read().split()
22
23    print "args = " + str(args)
24
25    pid = os.fork()
26    if pid == 0:
27       # child
28       print "child forked"
29
30       os.execv( args[0], args )
31       #os.execve( args[0], args, {'LD_LIBRARY_PATH': "/vservers/" + SLICE + "/lib:/vservers/" + SLICE + "/lib64:/vservers/" + SLICE + "/usr/lib:/vservers/" + SLICE + "/usr/lib64"} )
32
33    else:
34       # parent
35       print "pid = " + str(pid)
36       os.wait()
37       sys.exit(0)