Really ? Do you know what a .killscript is ?
killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent.
KILL ALL don't kill the process directly / send the SIGTERM
void signal_setup(void)
{
signal_timer_enable(30);
signal(SIGVTALRM, checkpointing);
signal(SIGHUP, hupsig);
signal(SIGCHLD, reap);
signal(SIGINT, hupsig);
signal(SIGTERM, hupsig);
signal(SIGPIPE, SIG_IGN);
signal(SIGALRM, SIG_IGN);
signal(SIGUSR1, usrsig);
}
SIGTERM don't close you program imediatly. Just use killall game you will see in you syslog those lines
sys_log(0, "<shutdown> Shutting down CHARACTER_MANAGER...");
sys_log(0, "<shutdown> Shutting down ITEM_MANAGER...");
etc and more
this means you program is shutdown correct
KILLALL just send the signal , not close you program directly.
Please watch you language. There are difference bettwen SEND SIGNAL and kill instant.