**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 :)



{
    static thread_local bool terminating = false;
    if (terminating)
        abort();
    terminating = true;
    std::string log_message;
    if (std::current_exception())
        log_message = "Terminate called for uncaught exception:\n" + DB::getCurrentExceptionMessage(true);
    else
        log_message = "Terminate called without an active exception";
    static const size_t buf_size = 1024;
    if (log_message.size() > buf_size - 16)
        log_message.resize(buf_size - 16);
    char buf[buf_size];
    DB::WriteBufferFromFileDescriptor out(signal_pipe.fds_rw[1], buf_size, buf);
    DB::writeBinary(static_cast<int>(SignalListener::StdTerminate), out);
    DB::writeBinary(UInt32(getThreadId()), out);
    DB::writeBinary(log_message, out);
    out.next();
    abort();
}
static std::string createDirectory(const std::string & file)
{
    auto path = Poco::Path(file).makeParent();
    if (path.toString().empty())
        return "";
    Poco::File(path).createDirectories();
    return path.toString();
};
static bool tryCreateDirectories(Poco::Logger * logger, const std::string & path)