Line 4: |
Line 4: |
| | | |
| {{:DMTCP}} | | {{:DMTCP}} |
| + | |
| + | == [http://criu.org CRIU], [http://dmtcp.sourceforge.net DMTCP], [https://ftg.lbl.gov/projects/CheckpointRestart BLCR] == |
| + | |
| + | “looks\seems like yes/no” - i found only unproved message(s) saying “yes”/“no” |
| + | |
| + | “not yet” - it is officially planned or i found no reasons, why it can’t be done. |
| + | |
| + | |
| + | {| style="border-spacing:0;" |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| CRIU |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| DMTCP |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| BLCR |
| + | |
| + | |- |
| + | | style="background-color:#dc2300;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | | style="background-color:#dc2300;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | | style="background-color:#dc2300;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | | style="background-color:#dc2300;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| arch |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| x86_64, ARM |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| x86, x86_64, ARM |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| x86,x86_64,PPC/PPC64,ARM |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| OS |
| + | | colspan="3" style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| <center>Linux</center> |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| modified kernel |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes, but only for some extra features. |
| + | |
| + | All unnecessary features are already in new kernel versions |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no, module can be simply modprobed |
| + | |
| + | |
| + | problems with installation on new kernels |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| special libs |
| + | |
| + | |
| + | |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| root privileges |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes, otherwise it would be unsafe,because,for example, of parasite code |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| need to modify programs |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | there are some difficulties with statically linked applications, and with LinuxThreads (cuz it does not support them at all) |
| + | |
| + | |
| + | |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| need to prepare tasks |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | It preloadsthe DMTCP library. That library runs before the routinemain(). It creates a second thread. Thecheckpoint thread then creates a socket to the DMTCP coordinator andregisters itself. The checkpoint thread also creates a signal handler. |
| + | |
| + | |
| + | |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | CR shall notify processes when a checkpoint is to occur (before the kernel takes a checkpoint) to |
| + | |
| + | allow the processes to prepare itself accordingly. |
| + | |
| + | |
| + | |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Does it change behavior of the c/r-ed programs? |
| + | |
| + | |
| + | |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | because of wrappers on system calls |
| + | |
| + | |
| + | |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | because of wrappers on system calls |
| + | |
| + | |- |
| + | | style="background-color:#008000;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | | style="background-color:#008000;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | | style="background-color:#008000;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | | style="background-color:#008000;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | |
| + | |- |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| migration |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | even if kernel ,libs, etc are newer |
| + | |
| + | |
| + | Can use Memory Changes Tracking to decrease time for dumping |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | if both kernels are recent |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | but if all is the same! |
| + | |
| + | |
| + | if even prelinked addresses are different,it will not restore |
| + | |
| + | |
| + | But it can save the whole used libs and localization files to restore program on the different machine |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Containers |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | LXC and OpenVZ containers |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like no |
| + | |
| + | It doesn't support namespaces, so it probably can’t dump containers |
| + | |
| + | |
| + | |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like no |
| + | |
| + | |- |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| parallel/distributed computations |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | OpenMPI, MPICH2, OpenMP, Cilk are alredy supported and Infiniband is in progress. |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | Cray MPI, Intel MPI, LAM/MPI, MPICH-V, MPICH2, MVAPICH, Open MPI, SGI MPT |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| c\r gdb with debugging app |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no, because they are using the same interface |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| X-Windows graphics programs (KDE, GNOME, etc) |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes, by using vnc |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes, by using vnc |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| seems like no |
| + | |
| + | |
| + | |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Solutions for invocation in the custom software |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | Plugins and API |
| + | |
| + | |
| + | |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| + | |
| + | |- |
| + | | colspan="4" style="background-color:#800080;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| unix sockets |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes,all kinds |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| udp sockets |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes, both ipv4 and ipv6 |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| + | |
| + | developers of dmtcp had no request for this |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| tcp sockets |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| remote tcp connection |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| + | |
| + | but you can write a simple DMTCP plugin that tells DMTCP how you want to reconnect on restart |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Infiniband |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| + | |
| + | developing is on the half-way |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | |- |
| + | | style="background-color:#008080;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | | style="background-color:#008080;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | | style="background-color:#008080;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | | style="background-color:#008080;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| + | |
| + | |- |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| multithread support |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | |- |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| multiprocess |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| process groups |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| zombies |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | |- |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| namespaces |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | |- |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| sessions |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| not yet |
| + | |
| + | |- |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| Ptraced programs |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | |- |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| System V IPC |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | |- |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| memory mappings |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes, all kinds |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes, partially |
| + | |
| + | |- |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| protected memory |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | |- |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| pipes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border:1pt solid #000000;padding:0.176cm;"| not yet |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| terminals |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | only Unix98 PTYs |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | |
| + | |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| non-posix files (inotify, signalfd, eventfd, etc) |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | inotify, epoll, etc. |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Yes |
| + | |
| + | epoll, eventfd, signalfd are already supported and |
| + | |
| + | inotify will be supported in future |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like no |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| timers |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | Any counter or timer active since the beginning of a process will consider the restarted process to be a new process. |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Shared resources (files, mm, etc.) |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | files, memory, etc. |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | |
| + | System V shared memory(shmget, etc.), mmap-based shared memory, shared sockets, pipes, file descriptors. |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | but it is planned to suppord shared mmap regions |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| block devices |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| + | |
| + | |
| + | |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| character devices |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| mostly no |
| + | |
| + | but /dev/null, /dev/zero, etc. are supported |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| mostly no |
| + | |
| + | looks like null and zero are supported |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| mostly no |
| + | |
| + | but /dev/null and |
| + | |
| + | /dev/zero are supported |
| + | |
| + | |- |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| capture the contents of all open files |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like no |
| + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| + | |
| + | |} |
| + | |
| + | |
| | | |
| == External links == | | == External links == |