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))