由于愚蠢的设计,某些应用程序不会跟踪已创建进程的pid。当创建进程(scp)继续读取已删除的文件时,有一个错误(CVE级别!)。
是否有办法强制所有应用程序,访问特定文件以关闭fd或获取EIO进行读取操作?
fuser -k / path / to / file有一个丑陋的技巧,但它太丑陋而且太宽泛(并非所有访问应用程序都应该关闭,但只会收到IO错误)。
我试过了:
我知道正确的方法就是记录scp的pid并杀死-9它。但这是对大项目的CVE修复,并且执行代码在数千个部分之间共享,并且在生命周期的“稳定/支持”部分(预期修复)中的任何更改都将被拒绝。
有什么想法吗?如果不是,那就会有'fuser -k / path / to / file'。