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



char buf[signal_pipe_buf_size];
    DB::WriteBufferFromFileDescriptorDiscardOnFailure out(signal_pipe.fds_rw[1], signal_pipe_buf_size, buf);
    const ucontext_t signal_context = *reinterpret_cast<ucontext_t *>(context);
    const StackTrace stack_trace(signal_context);
    StringRef query_id = DB::CurrentThread::getQueryId();   
    query_id.size = std::min(query_id.size, max_query_id_size);
    DB::writeBinary(sig, out);
    DB::writePODBinary(*info, out);
    DB::writePODBinary(signal_context, out);
    DB::writePODBinary(stack_trace, out);
    DB::writeBinary(UInt32(getThreadId()), out);
    DB::writeStringBinary(query_id, out);
    DB::writePODBinary(DB::current_thread, out);
    out.next();
    if (sig != SIGTSTP) 
    {
        
        sleepForSeconds(10);
        call_default_signal_handler(sig);
    }
    errno = saved_errno;
}
__attribute__((__weak__)) void collectCrashLog(
    Int32 signal, UInt64 thread_id, const String & query_id, const StackTrace & stack_trace);
/** The thread that read info about signal or std::terminate from pipe.
  * On HUP / USR1, close log files (for new files to be opened later).
  * On information about std::terminate, write it to log.
  * On other signals, write info to log.
  */
class SignalListener : public Poco::Runnable