特に 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
問題なく kill -15 できました。