6 ms·
I would love to make more use of CRIU. E.g. I considered to use CRIU for my Python preloaded logic (https://github.com/albertz/python-preloaded https://github.c
by albertzeyer 4y ago
I would love to make more use of CRIU. E.g. I considered to use CRIU for my Python preloaded logic (https://github.com/albertz/python-preloaded https://github.com/albertz/python-preloaded). Unfortunately, at that point in time, CRIU must be used with root access, which was not an option. However, I see that the PR was merged now, so maybe it works now? (https://github.com/checkpoint-restore/criu/pull/1930 https://github.com/checkpoint-restore/criu/pull/1930)
There is also DMTCP (https://github.com/dmtcp/dmtcp/ https://github.com/dmtcp/dmtcp/) but this might have other problems for my use case.
My solution was to use a fork server instead, which works almost equally well. There are not really much downsides with this approach. And this is actually quite simple, and also quite cross-platform (except Windows).
- touisteur 4y agoIf you're only looking for tcp checkpoint-restore (and not while process) using network namespaces worked, even before the advent of CAP_CHECKPOINT_RESTORE in the Linux kernel (I wish they'd kept checkpoint separate but it's a fight for another day). Works for me on recent kernels. The problem with this the criu/kernel approach is that you need to go through some lengths to pause the low-layer packet stream.