特别是在 Mac OS X 上,是否可以通过 DYLD_INSERT_LIBRARIES 使程序忽略 SIGTERM,以适用于任何或大多数程序的方式?
我尝试编译并插入:
#include<stdio.h>
#include<signal.h>
#include<unistd.h>
void sig_handler(int signo)
{
if (signo == SIGTERM)
printf("received SIGTERM\n");
}
int main(void)
{
signal(SIGTERM, sig_handler);
return 0;
}
然而,
DYLD_INSERT_LIBRARIES=libignore.dylib sleep 60
能够毫无问题地杀死-15。