Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can you freeze a C/C++ process and continue it on a different host?

I was wondering if it is possible to generate a "core" file, copy if to another machine and then continue execution of the a core file on that machine?

I have seen the gcore utility that will make a core file from a running process. But I do not think gdb can continue execution based on a core file.

Is there any way to just dump the heap/stack and and restore those at a later point?

like image 751
Jeroen Dirks Avatar asked Oct 10 '08 19:10

Jeroen Dirks


People also ask

What does disable UAC mean?

Never notify (Disable UAC prompts) will: Not notify you when programs try to install software or make changes to your computer. Not notify you when you make changes to Windows settings. Not freeze other tasks until you respond.

Where are shadow copies stored?

Shadow copies are stored alongside your file system's data, and therefore consume the file system's storage capacity. However, shadow copies consume storage capacity only for the changed portions of files. All shadow copies stored in your file system are included in backups of your file system.

How do I stop User Account Control from blocking a program?

You can disable UAC through Group Policies. UAC GPO settings are located under Windows Settings -> Security Settings -> Security Options section. The names of the UAC policies start from User Account Control. Open the option “User Account Control: Run all administrators in Admin Approval Mode” and set it to Disable.

How can you terminate running applications or programs on your computer when they suddenly freeze?

The Task Manager is the most reliable method of closing stuck apps. To open it, press Ctrl + Shift +Esc. In the simple view, click an app and choose End task to close it. If you're using the full Task Manager view, click an app name on the Processes tab and choose End task to force-close an app.


3 Answers

it's called process migration.

mosix and OpenMosix used to be able to do that. nowadays it's easiest to migrate a whole VM.

like image 150
Javier Avatar answered Oct 20 '22 20:10

Javier


On modern systems, not from a core file, no you can't. For freezing and restoring an individual process on Linux, CryoPID and the new Kernel-based checkpoint and restart are in the works, but their abilities are currently quite limited. OpenVZ and other virtualization-like softwares can freeze and restore an entire system.

like image 40
ephemient Avatar answered Oct 20 '22 21:10

ephemient


Also checkout out the Condor project. Condor can do that with parallel jobs as well. Condor also include monitors that can automatically migrate your process when some, for example, starts using their workstation again. It's really designed for utilizing spare cycles in networked environments.

like image 35
Pat Notz Avatar answered Oct 20 '22 21:10

Pat Notz