in reply to system >> 8 is non-zero when child exits with exit(0)
once >>8 is applied to the value returned by system
First, note you should be checking the whole return value of system, not just the upper byte. If the call was successful, its whole return value should be zero, so you might actually be missing error conditions. Once the return value of system is nonzero, then you can inspect it, as the docs show. You can also consider using IPC::System::Simple, which provides a drop-in replacement for system with nicer error handling.
I've been unable to either reliably reproduce the behaviour (it just happens sometimes in processes running on the server) nor stop it happening. ... I've not been able to find a known bug
IMHO, I would consider it likely then that it's actually the subprocesses that is in fact failing somehow. Adding detailed logging to the process doing the system would probably help in hunting down the problem. For that, consider also capturing the output of the process being run, especially its STDERR, using e.g. Capture::Tiny.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: system >> 8 is non-zero when child exits with exit(0)
by bjdean (Novice) on Mar 09, 2021 at 14:56 UTC | |
by haukex (Archbishop) on Mar 09, 2021 at 15:09 UTC | |
by bjdean (Novice) on Mar 10, 2021 at 03:42 UTC | |
by haukex (Archbishop) on Mar 11, 2021 at 19:26 UTC | |
by bjdean (Novice) on Mar 17, 2021 at 01:01 UTC | |
by jcb (Parson) on Mar 11, 2021 at 02:38 UTC | |
by bjdean (Novice) on Mar 17, 2021 at 00:42 UTC |