Strace завершит работу с тем же кодом завершения, что и отслеживаемая программа. Пока все хорошо.
Открытое выглядит немного нелепо, это тот самый perl, о котором мы говорим?
Тогда этот бит из perldoc -f open
применяется:
Закрытие любого переданного файлового дескриптора приводит к тому, что родительский процесс ожидает
потом заканчивается, затем возвращает значение статуса в $? а также
"$ {^ CHILD_ERROR_NATIVE}".
Итак, да, вы можете получить код, вызвав close IN
и посмотрев на значение в $?.