class Subprocess::NonZeroExit

Error class representing a process’s abnormal exit.

def initialize(cmd, status)

Parameters:
  • status (::Process::Status) -- The status returned by `waitpid`.
  • cmd (Array) -- The command that returned a non-zero status.
def initialize(cmd, status)
  @command, @status = cmd.join(' '), status
  message = +"Command #{command} "
  if status.exited?
    message << "returned non-zero exit status #{status.exitstatus}"
  elsif status.signaled?
    message << "was terminated by signal #{status.termsig}"
  elsif status.stopped?
    message << "was stopped by signal #{status.stopsig}"
  else
    message << "exited for an unknown reason (FIXME)"
  end
  super(message)
end