class X::Proc::Async::AlreadyStarted is Exception {}

When you call start twice on the same Proc::Async object, the second invocation will die with an X::Proc::Async::AlreadyStarted exception.

my $proc = Proc::Async.new("echo");
$proc.start;
$proc.start;
CATCH { default { put .^name, ': ', .Str } };
# OUTPUT: «X::Proc::Async::AlreadyStarted: Process has already been started␤»