Bem, eu quero poder reiniciar processos no Linux e, por isso, procurei nas kill
páginas de manual. Aparentemente kill -l
, listaria todos os sinais que eu poderia enviar para um processo para fazer o que eu precisava, que são:
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
Eu pensei que obteria o efeito desejado usando o SIGSTOP
sinal (número 19) e depois o SIGCONT
sinal (número 18) assim:
kill -19 $PID_NUMBER # It stops! nice, we are reaching just what we wanted.
kill -18 $PID_NUMBER # Ok... it continues to death... that isn't funny though.
Eu também tentei com o sinal número 1: SIGHUP
com praticamente os mesmos resultados, estou perdendo alguma coisa? Alguém sabe o que eu preciso para alcançar o que eu quero?
Há um sinal de "RELOAD".
Suponha que você tenha um
squid
processo com o pid 1 executado no container, se você reiniciar o processo squid, o container sairá. mas você pode "RELOAD" assim:fonte
restart
operação é justastop
estart
, em seguida , o contêiner sairá imediatamente quando detectar que o pid 1 foi morto, para questart
isso nunca aconteça.kill -HUP 1
recarregará a configuração sem interromper o processo, isso é igual arestart
ele.