Yah, saya ingin dapat memulai kembali proses di linux dan jadi saya melihat ke kill
halaman manual untuk itu. Tampaknya kill -l
akan mendaftar semua sinyal yang dapat saya kirim ke proses untuk melakukan apa yang saya butuhkan, yaitu:
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
Saya pikir saya akan mendapatkan efek yang diinginkan dengan menggunakan SIGSTOP
sinyal (nomor 19) dan kemudian SIGCONT
sinyal (nomor 18) seperti ini:
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.
Saya juga mencoba dengan sinyal nomor 1: SIGHUP
dengan hasil yang hampir sama, apakah saya melewatkan sesuatu? Adakah yang tahu apa yang saya butuhkan untuk mencapai yang saya inginkan?
Ada sinyal "RELOAD".
Asumsikan Anda memiliki
squid
proses dengan pid 1 berjalan dalam wadah, jika Anda memulai kembali proses cumi wadah akan keluar. tetapi Anda dapat "RELOAD" seperti ini:sumber
restart
operasi hanyastop
dan kemudianstart
, wadah akan segera keluar ketika mendeteksi pid 1 terbunuh, sehinggastart
tidak akan pernah terjadi.kill -HUP 1
akan memuat ulang konfigurasi tanpa mematikan proses, ini sama denganrestart
itu.