**Describe the bug**
`SYSTEM KILL` does not shutdown the server when run in a docker environment. I used https://hub.docker.com/r/yandex/clickhouse-server/ instructions to setup the docker.

**How to reproduce**
* ClickHouse server version 20.12.4 revision 54442.
```
myrotk@altinity-qa-cosmic3:~$ docker pull yandex/clickhouse-server
Using default tag: latest
latest: Pulling from yandex/clickhouse-server
da7391352a9b: Pull complete
14428a6d4bcd: Pull complete
2c2d948710f2: Pull complete
076cd2c6a81e: Pull complete
201ea6cda8c8: Pull complete
0d7b4e598027: Pull complete
0d86a58e3639: Pull complete
3b78a4fd0f92: Pull complete
86d65487f611: Pull complete
dc82dea7d6fe: Pull complete
Digest: sha256:8f669dafd35eb527210cc77973ed927734dff2c2cafd345823c8c99769124fd1
Status: Downloaded newer image for yandex/clickhouse-server:latest
docker.io/yandex/clickhouse-server:latest

myrotk@altinity-qa-cosmic3:~$ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 yandex/clickhouse-server
35603911ec6c5737f069a019a60d03270cefe78e52c77d1bc6ff33a0548ae97e

myrotk@altinity-qa-cosmic3:~$ docker run -it --rm --link some-clickhouse-server:clickhouse-server yandex/clickhouse-client --host clickhouse-server
Unable to find image 'yandex/clickhouse-client:latest' locally
latest: Pulling from yandex/clickhouse-client
f22ccc0b8772: Pull complete
3cf8fb62ba5f: Pull complete
e80c964ece6a: Pull complete
6f064a173914: Pull complete
37a06aaf9ee5: Pull complete
Digest: sha256:504e18bed5162a20bbff6071ca1b7c7baca1380d2e2755e4d6bf4bac7e534531
Status: Downloaded newer image for yandex/clickhouse-client:latest
ClickHouse client version 20.12.4.5 (official build).
Connecting to clickhouse-server:9000 as user default.
Connected to ClickHouse server version 20.12.4 revision 54442.

35603911ec6c :) SYSTEM KILL

SYSTEM KILL

Query id: 0da8cfef-36c8-4de9-8c12-3e9175c5aed0

Ok.

0 rows in set. Elapsed: 0.002 sec.

35603911ec6c :)



LOG_TRACE(log, "Received signal {}", sig);
            if (sig == Signals::StopThread)
            {
                LOG_INFO(log, "Stop SignalListener thread");
                break;
            }
            else if (sig == SIGHUP || sig == SIGUSR1)
            {
                LOG_DEBUG(log, "Received signal to close logs.");
                BaseDaemon::instance().closeLogs(BaseDaemon::instance().logger());
                LOG_INFO(log, "Opened new log file after received signal.");
            }
            else if (sig == Signals::StdTerminate)
            {
                UInt32 thread_num;
                std::string message;
                DB::readBinary(thread_num, in);
                DB::readBinary(message, in);
                onTerminate(message, thread_num);
            }
            else if (sig == SIGINT ||
                sig == SIGQUIT ||
                sig == SIGTERM)
            {
                daemon.handleSignal(sig);
            }
            else
            {