Add a command that will freeze clickhouse-server process with STOP signal and wakeup it after specified amount of time.
This is needed for testing (fault injection).

Wakeup can be done with `ShellCommand` running `sleep N && kill -CONT pid`
throw Exception("There is no " + query.database + "." + query.table + " replicated table",
                                ErrorCodes::BAD_ARGUMENTS);
            break;
        case Type::FLUSH_LOGS:
            context.checkAccess(AccessType::SYSTEM_FLUSH_LOGS);
            executeCommandsAndThrowIfError(
                    [&] () { if (auto query_log = context.getQueryLog()) query_log->flush(true); },
                    [&] () { if (auto part_log = context.getPartLog("")) part_log->flush(true); },
                    [&] () { if (auto query_thread_log = context.getQueryThreadLog()) query_thread_log->flush(true); },
                    [&] () { if (auto trace_log = context.getTraceLog()) trace_log->flush(true); },
                    [&] () { if (auto text_log = context.getTextLog()) text_log->flush(true); },
                    [&] () { if (auto metric_log = context.getMetricLog()) metric_log->flush(true); },
                    [&] () { if (auto asynchronous_metric_log = context.getAsynchronousMetricLog()) asynchronous_metric_log->flush(true); },
                    [&] () { if (auto opentelemetry_span_log = context.getOpenTelemetrySpanLog()) opentelemetry_span_log->flush(true); }
            );
            break;
        case Type::STOP_LISTEN_QUERIES:
        case Type::START_LISTEN_QUERIES:
            throw Exception(String(ASTSystemQuery::typeToString(query.type)) + " is not supported yet", ErrorCodes::NOT_IMPLEMENTED);
        default:
            throw Exception("Unknown type of SYSTEM query", ErrorCodes::BAD_ARGUMENTS);
    }
    return BlockIO();
}
StoragePtr InterpreterSystemQuery::tryRestartReplica(const StorageID & replica, Context & system_context, bool need_ddl_guard)
{
    context.checkAccess(AccessType::SYSTEM_RESTART_REPLICA, replica);
    auto table_ddl_guard = need_ddl_guard ? DatabaseCatalog::instance().getDDLGuard(replica.getDatabaseName(), replica.getTableName()) : nullptr;
    auto [database, table] = DatabaseCatalog::instance().tryGetDatabaseAndTable(replica, context);
    ASTPtr create_ast;