Для добавления сжатия к результирующему zip-файлу проверьте эту ссылку .
Вам нужно изменить:
zip = zipfile.ZipFile('Python.zip', 'w')
на
zip = zipfile.ZipFile('Python.zip', 'w', zipfile.ZIP_DEFLATED)
Да, я считаю, что вы правы, что это единственные возможности.
Вы можете подтвердить это из документации wait(2)
. Есть два связанных макроса, WIFEXITED()
и WIFSIGNALED()
, которые можно использовать, чтобы определить, почему wait
вернул данный процесс. Других возможностей нет (я не считаю WIFSTOPPED()
, так как он используется для обнаружения приостановленных процессов, а не процессов, которые завершились).
На самом деле, exit(3)
это не системный вызов, это функция библиотеки Си. Системный вызов - _exit(2)
. exit(3)
выполняет некоторую очистку C (например, очищает буферы stdio
и вызывает функции atexit()
), а затем вызывает _exit(2)
для фактического выхода из процесса.