如何转储Linux程序并继续运行



出于我自己的目的,我想从应用程序中定期转储我正在运行的应用程序,但继续运行程序。

我该怎么做?应用程序只有一个进程,但有多个线程。

谷歌核心转储看起来很有希望,但不再支持。还有别的办法吗?

调用fork,然后在fork进程中dump core。这有一个明显的缺点——你不能看到除了fork之外的线程堆栈。

可以使用GDB

Let say I am running an app call matrix (a simple ncurses sample app that emulates the words flow). 
I can obtain the process id by using pgrep and pass to gcore like this:
    gcore `pgrep matrix`
The core file you obtain will be core.pid format like this:
     core.6129
http://linux.byexamples.com/archives/371/gcore-obtain-core-dump-of-current-running-application/

相关内容

  • 没有找到相关文章

最新更新