有一个进程(我有源码)卡在无效状态,因为它的轮询调用要等一个无效的fd变成可写。
因为这永远不会发生,所以轮询永远卡住了。
有没有可能以某种方式强制退出这个轮询操作?
附上Gdb,我的愿望是看看如何在轮询返回后继续应用。
#0 0xb673e120 in poll () at ../sysdeps/unix/syscall-template.S:84
这是我可以在不重启应用程序的情况下实现的吗?
是否有可能以某种方式强制退出这个轮询操作?
是的,你可以用下面的方法强制当前的堆栈帧提前返回。return
命令,你也可以选择任何合适的值作为函数的返回值。你也可以选择任何合适的值作为函数的返回值。参见这里的文档。https:/sourceware.orggdbcurrentonlinedocsgdbReturning.html#Returning.