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



throw Poco::Exception("Cannot getrlimit");
        
        rlim.rlim_cur = config().getUInt64("core_dump.size_limit", 1024 * 1024 * 1024);
        if (rlim.rlim_cur && setrlimit(RLIMIT_CORE, &rlim))
        {
            
            std::cerr << "Cannot set max size of core file to " + std::to_string(rlim.rlim_cur) << std::endl;
        }
    }
    
    if (config().has("timezone"))
    {
        const std::string config_timezone = config().getString("timezone");
        if (0 != setenv("TZ", config_timezone.data(), 1))
            throw Poco::Exception("Cannot setenv TZ variable");
        tzset();
        DateLUT::setDefaultTimezone(config_timezone);
    }
    std::string log_path = config().getString("logger.log", "");
    if (!log_path.empty())
        log_path = Poco::Path(log_path).setFileName("").toString();
    /** Redirect stdout, stderr to separate files in the log directory (or in the specified file).
      * Some libraries write to stderr in case of errors in debug mode,
      *  and this output makes sense even if the program is run in daemon mode.
      * We have to do it before buildLoggers, for errors on logger initialization will be written to these files.
      * If logger.stderr is specified then stderr will be forcibly redirected to that file.
      */
    if ((!log_path.empty() && is_daemon) || config().has("logger.stderr"))
    {
        std::string stderr_path = config().getString("logger.stderr", log_path + "/stderr.log");