**Describe the unexpected behaviour**
When compressed clickhouse started multiple times it is possible (and maybe quite probable) that some of them will end up with errors. It happens due to the fact that decompression process is trying to manipulate files in order to substitute compressed clickhouse with decompressed and run it.
This issue can affect CI environment leading to seemingly unrelated to PR tests failures.

**How to reproduce**
Run compressed clickhouse multiple times.

**Expected behavior**
No errors related to decompression and process startup.

**Error message and/or stacktrace**
Various - depends on the clashing stages of decompression process.

#   include <sys/sysctl.h>
#endif
#include "types.h"
int doDecompress(char * input, char * output, off_t & in_offset, off_t & out_offset,
               off_t input_size, off_t output_size, ZSTD_DCtx* dctx)
{
    size_t decompressed_size = ZSTD_decompressDCtx(dctx, output + out_offset, output_size, input + in_offset, input_size);
    if (ZSTD_isError(decompressed_size))
    {
        std::cerr << "Error (ZSTD):" << decompressed_size << " " << ZSTD_getErrorName(decompressed_size) << std::endl;
        return 1;
    }
    return 0;
}
int decompress(char * input, char * output, off_t start, off_t end, size_t max_number_of_forks=10)
{
    off_t in_pointer = start, out_pointer = 0;
    off_t size = 0;
    off_t max_block_size = 1ull<<27;
    off_t decompressed_size = 0;
    size_t number_of_forks = 0;
    
    ZSTD_DCtx * dctx = ZSTD_createDCtx();
    if (dctx == nullptr)
    {
        std::cerr << "Error (ZSTD): failed to create decompression context" << std::endl;
        return 1;
    }
    pid_t pid;
    bool error_happened = false;