You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: sidekiq_signals.rb
    path of file: ./repos/gitlabhq/lib/gitlab
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

module Gitlab
  # As a process group leader, we can ensure that children of sidekiq are killed
  # at the same time as sidekiq itself, to stop long-lived children from being
  # reparented to init and "escaping". To do this, w
    
    def self.install!(sidekiq_handlers)
      # This only works if we're process group leader
      return unless Process.getpgrp == Process.pid

      raise SIDEKIQ_CHANGED_MESSAGE unless
        REPLACE_SIGNALS == sidekiq_handlers.keys & REPLACE_SIGNALS

      REPLACE_SIGNALS.each do |signal|
        old_handler = sidekiq_handlers[signal]
        sidekiq_handlers[signal] = ->(cli) do
          blindly_signal_pgroup!(signal)
          old_handler.call(cli)
        end
      end
    end