我有一个运行的Linux进程停留在poll()上。它在缓冲区中有一些数据,但此缓冲区尚未写入磁盘。通常我会杀死导致它刷新缓冲区然后退出的进程。
但是,在这种情况下,它写入的文件已从文件系统中删除,因此我需要进程在退出之前编写缓冲区,而inode仍可通过/ proc // fd /
是否可以从poll()调用中“踢出”进程并单步执行直到它使用GDB将缓冲区刷新到磁盘?
(好奇的是,源代码在这里:http://sourcecodebrowser.com/alsa-utils/1.0.15/arecordmidi_8c_source.html)