void os_alarm_process(int pid)
{ if (pid <= 0) return;
kill(pid, SIGALRM);
}
void os_kill_process(int pid, int reap_child)
{ if (pid <= 0) return;
/* Block signals until child is reaped */
block_signals();
kill(pid, SIGKILL); if (reap_child)
CATCH_EINTR(waitpid(pid, NULL, __WALL));
unblock_signals();
}
/* Kill off a ptraced child by all means available. kill it normally first, *thenPTRACE_KILLit,thenPTRACE_CONTitincaseit'sinarunstatefrom *whichitcan'texitdirectly.
*/
void os_kill_ptraced_process(int pid, int reap_child)
{ if (pid <= 0) return;
/* Block signals until child is reaped */
block_signals();
void init_new_thread_signals(void)
{
set_handler(SIGSEGV);
set_handler(SIGTRAP);
set_handler(SIGFPE);
set_handler(SIGILL);
set_handler(SIGBUS);
signal(SIGHUP, SIG_IGN);
set_handler(SIGIO); /* We (currently) only use the child reaper IRQ in seccomp mode */ if (using_seccomp)
set_handler(SIGCHLD);
signal(SIGWINCH, SIG_IGN);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.