diff --git a/slapos/runner/sup_process.py b/slapos/runner/sup_process.py
new file mode 100644
index 0000000000000000000000000000000000000000..9b7d0a081d656fc8c3043e7fbe046b0ba3fe1576
--- /dev/null
+++ b/slapos/runner/sup_process.py
@@ -0,0 +1,40 @@
+import time
+import xmlrpclib
+
+from supervisor import childutils
+
+# This mini-library is used to communicate with supervisord process
+# It aims to replace the file "process.py"
+# For the moment, we keep both for compatibility
+
+def isRunning(config, process):
+  server = xmlrpclib.Server(config['supervisord_server'])
+  state = server.supervisor.getProcessInfo(process)['state']
+  return (True if state == 20 else False)
+
+
+def returnCode(config, process):
+  server = xmlrpclib.Server(config['supervisord_server'])
+  code = server.supervisor.getProcessInfo(process)['exitstatus']
+  return code
+
+
+def runProcess(config, process):
+  server = xmlrpclib.Server(config['supervisord_server'])
+  server.supervisor.startProcess(process)
+
+
+def runProcesses(config, processes):
+  server = xmlrpclib.Server(config['supervisord_server'])
+  for proc in processes:
+    server.supervisor.startProcess(proc)
+    waitForProcessEnd(proc)
+
+
+def waitForProcessEnd(config, process):
+  server = xmlrpclib.Server(config['supervisord_server'])
+  while True:
+    state = server.supervisor.getProcessInfo(process)['state']
+    if state == 20:
+      time.sleep(5)
+  return False