Ruby 2.5 был недавно выпущен.

Ruby 2.5 добавил Process # last_status в качестве псевдонима для $?

Он возвращает статус последнего выполненного дочернего процесса в текущем потоке.

>> Process.wait Process.spawn("exit 0")
=> 18447
>> $?
=> #<Process::Status: pid 18447 exit 0>
>> Process.last_status
=> #<Process::Status: pid 18447 exit 0>
>> Process.last_status == $?
=> true

Он возвращает nil, если в текущем потоке никогда не выполнялся дочерний процесс.

>> Process.last_status
=> nil

Он не принимает никаких аргументов.

>> Process.last_status(1)
Traceback (most recent call last):
        3: from /home/atul/.rvm/rubies/ruby-2.5.0/bin/irb:11:in `<main>'
        2: from (irb):2
        1: from (irb):2:in `last_status'
ArgumentError (wrong number of arguments (given 1, expected 0))