The method Node.start() starts a new villas-node process. However if it is run twice, the first process-handler, which got saved in self.child gets overwritten by the second process handler.
The command in question:
self.child = subprocess.Popen(
[self.executable, self.config_file.name],
stdout=self.log,
stderr=self.log,
)
If necessary I can provide a working example, providing it now would have bloated up my initial post :D