<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>
<div>Hello Marc,</div>
<div><br>
</div>
<div>For which PID do you send the WINCH signal?</div>
<div><br>
</div>
<div>
<div id="MAC_OUTLOOK_SIGNATURE"></div>
</div>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:12pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>nginx <<a href="mailto:nginx-bounces@nginx.org">nginx-bounces@nginx.org</a>> on behalf of Marc Soda <<a href="mailto:marc@soda.fm">marc@soda.fm</a>><br>
<span style="font-weight:bold">Reply-To: </span>"<a href="mailto:nginx@nginx.org">nginx@nginx.org</a>" <<a href="mailto:nginx@nginx.org">nginx@nginx.org</a>><br>
<span style="font-weight:bold">Date: </span>Tuesday, 4 April 2017 at 04.04<br>
<span style="font-weight:bold">To: </span>"<a href="mailto:nginx@nginx.org">nginx@nginx.org</a>" <<a href="mailto:nginx@nginx.org">nginx@nginx.org</a>><br>
<span style="font-weight:bold">Subject: </span>Binary upgrade with systemd<br>
</div>
<div><br>
</div>
<span style="mso-bookmark:_MailOriginalBody">
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0 0 0 5;">
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">Hello,</div>
<div class=""><br class="">
</div>
I’m using nginx 1.10.3 custom built on Ubuntu 16.04.  I’m also using the recommended systemd service file:
<div class=""><br class="">
</div>
<div class="">
<div class=""><font face="Courier" class="">[Unit]</font></div>
<div class=""><font face="Courier" class="">Description=The NGINX HTTP and reverse proxy server</font></div>
<div class=""><font face="Courier" class="">After=syslog.target network.target remote-fs.target nss-lookup.target</font></div>
<div class=""><font face="Courier" class=""><br class="">
</font></div>
<div class=""><font face="Courier" class="">[Service]</font></div>
<div class=""><font face="Courier" class="">Type=forking</font></div>
<div class=""><font face="Courier" class="">PIDFile=/run/nginx.pid</font></div>
<div class=""><font face="Courier" class="">ExecStartPre=/usr/sbin/nginx -t</font></div>
<div class=""><font face="Courier" class="">ExecStart=/usr/sbin/nginx</font></div>
<div class=""><font face="Courier" class="">ExecReload=/bin/kill -s HUP $MAINPID</font></div>
<div class=""><font face="Courier" class="">ExecStop=/bin/kill -s QUIT $MAINPID</font></div>
<div class=""><font face="Courier" class="">PrivateTmp=true</font></div>
<div class=""><font face="Courier" class=""><br class="">
</font></div>
<div class=""><font face="Courier" class="">[Install]</font></div>
<div class=""><font face="Courier" class="">WantedBy=multi-user.target</font></div>
</div>
<div class=""><br class="">
</div>
<div class="">I’m try to do a no downtime upgrade with the USR2 and WINCH signals.  Here is my process list before:</div>
<div class=""><br class="">
</div>
<div class="">
<div class=""><font face="Courier" class="">root     32277  0.0  0.4 1056672 71148 ?       Ss   21:51   0:00 nginx: master process /usr/local/nginx/sbin/nginx</font></div>
<div class=""><font face="Courier" class="">www      32278  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32279  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32280  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32281  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32282  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32283  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32288  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32289  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32290  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32291  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32292  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32293  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32294  0.0  0.4 1056672 72212 ?       S    21:51   0:00  \_ nginx: cache manager process</font></div>
</div>
<div class=""><br class="">
</div>
<div class="">and here it is after sending USR2:</div>
<div class=""><br class="">
</div>
<div class="">
<div class=""><font face="Courier" class="">root     32277  0.0  0.4 1056672 71868 ?       Ss   21:51   0:00 nginx: master process /usr/local/nginx/sbin/nginx</font></div>
<div class=""><font face="Courier" class="">www      32278  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32279  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32280  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32281  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32282  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32283  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32288  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32289  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32290  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32291  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32292  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32293  0.0  0.4 1057924 73152 ?       S<   21:51   0:00  \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32294  0.0  0.4 1056672 72212 ?       S    21:51   0:00  \_ nginx: cache manager process</font></div>
<div class=""><font face="Courier" class="">root     32461  5.5  0.5 1056676 82316 ?       S    22:01   0:00  \_ nginx: master process /usr/local/nginx/sbin/nginx</font></div>
<div class=""><font face="Courier" class="">www      32465  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32466  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32467  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32468  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32469  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32470  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32471  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32472  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32473  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32474  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32475  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32476  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32477  0.0  0.4 1056676 72176 ?       S    22:01   0:00      \_ nginx: cache manager process</font></div>
<div class=""><font face="Courier" class="">www      32478  0.0  0.4 1056676 72176 ?       S    22:01   0:00      \_ nginx: cache loader process</font></div>
</div>
<div class=""><br class="">
</div>
<div class="">Notice how the new master is a child of the old master.  If I send a WINCH I get:</div>
<div class=""><br class="">
</div>
<div class="">
<div class=""><font face="Courier" class="">root     32277  0.0  0.4 1056672 71868 ?       Ss   21:51   0:00 nginx: master process /usr/local/nginx/sbin/nginx</font></div>
<div class=""><font face="Courier" class="">root     32461  0.2  0.5 1056676 82316 ?       S    22:01   0:00  \_ nginx: master process /usr/local/nginx/sbin/nginx</font></div>
<div class=""><font face="Courier" class="">www      32465  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32466  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32467  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32468  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32469  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32470  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32471  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32472  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32473  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32474  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32475  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32476  0.0  0.4 1057928 73052 ?       S<   22:01   0:00      \_ nginx: worker process</font></div>
<div class=""><font face="Courier" class="">www      32477  0.0  0.4 1056676 72176 ?       S    22:01   0:00      \_ nginx: cache manager process</font></div>
<div class=""><font face="Courier" class="">www      32478  0.0  0.4 1056676 72176 ?       S    22:01   0:00      \_ nginx: cache loader process</font></div>
</div>
<div class=""><br class="">
</div>
<div class="">which is not what I’m looking for.  Is this a limitation when running with systemd?</div>
<div class=""><br class="">
</div>
<div class="">Thanks,</div>
<div class="">Marc</div>
</div>
</div>
</blockquote>
</span></span>
</body>
</html>