'Initializes the ``SIGCHLD`` handler.
The signal handler is run on an `.IOLoop` to avoid locking issues.
Note that the `.IOLoop` used for signal handling need not be the
same one used by individual Subprocess objects (as long as the
``IOLoops`` are each running in separate threads).
.. versionchanged:: 5.0
The ``io_loop`` argument (deprecated since version 4.1) has been
removed.'

@classmethod
def initialize(cls):

    if cls._initialized:
        return
    io_loop = ioloop.IOLoop.current()
    cls._old_sigchld = signal.signal(signal.SIGCHLD, (lambda sig, frame: io_loop.add_callback_from_signal(cls._cleanup)))
    cls._initialized = True
