Hi, Here it the reproducible code.
use v5.20; use warnings; use utf8; use autodie; use IO::Async::Loop; use IO::Async::Process; my $loop = IO::Async::Loop->new; my $future = $loop->new_future; my $status; my @command = ("nproc"); print $future; $loop->run_child( command => [@command], on_finish => sub { my ($pid, $exitcode, $stdout, $stderr) = @_; $status = ($exitcode >> 8); if ($status) { my $message = "Command @command exited with status $status"; $message .= ": $stderr" if length $stderr; $future->fail($message); return; } $future->done($stdout); }); $loop->await($future);