Putting CATCH { default { put .^name, ': ', .Str } };
in the While loop helped with the restarting, but I am still not sure if this is the expected behavior or not. run.pl: while True { say "Starting"; shell("perl6 a.pl"); CATCH { default { put .^name, ': ', .Str } }; } a.pl: print "in a.pl\n"; exit(141);