Executing shell script with system() returns 256. What does that mean? Executing shell script with system() returns 256. What does that mean? shell shell

Executing shell script with system() returns 256. What does that mean?


According to this and that, Perl's system() returns exit values multiplied by 256. So it's actually exiting with 1. It seems this happens in C too.


Unless system returns -1 its return value is of the same format as the status value from the wait family of system calls (man 2 wait). There are macros to help you interpret this status:

man 3 wait

Lists these macros and what they tell you.


A code of 256 probably means that the system command cannot locate the binary to run it. Remember that it may not be calling bash and that it may not have paths setup. Try again with full paths to the binaries!