1
Linux上的非阻塞核心转储?
我正在寻找一种在Linux上进行正在运行的进程的非侵入式核心转储的方法。 我对gdb很熟悉gcore,但是只有在gdb附加到进程中并停止调试时才能运行。对于大型核心转储,这可能意味着几秒钟甚至几分钟的执行中断。 有没有其他非阻塞性选择? Linux支持写时复制内存,它依赖于fork()不带exec()。因此,我正在考虑某种内核级别的操作,其中内核为正在转储的进程的进程页表创建写时复制快照,然后在原始进程继续运行的同时将内核写出。 我敢肯定,我可以gdb强迫fork()父母抛弃孩子,然后wait()让父母快乐地继续生活,然后在父母解雇后再让孩子收割。但是,这很麻烦,尽管短暂,但仍需要中断父进程两次。 肯定有人需要吗?