Я работаю над Linux с кодом, который вызывает system()
для запуска программы на Python. Меня интересует значение, возвращаемое этим вызовом функции, чтобы понять, как прошло выполнение программы на Python.
На данный момент я нашел 3 результата:
Когда процесс Python завершается успешно, значение, возвращаемое системой (), равно 0
. Когда процесс python завершается в середине -выполнения (с использованиемkill -9 pid
), значение, возвращаемое системой (), равно 9
Когда процесс python дает сбой сам по себе из-за неправильных параметров, значение, возвращаемое системой (), равно 512
. Это не соответствует тому, что я читал о системе (). функция.
Кроме того, код вызываемой программы Python показывает, что она завершается с sys.exit(2)
при обнаружении какой-либо ошибки и sys.exit(0)
при успешном завершении выполнения.
Может ли кто-нибудь связать эти два? Я неправильно интерпретирую возвращаемое значение? Задействована ли какая-то обработка Linux, которая принимает аргумент функции sys.exit()
программы python и возвращает значение system()
на его основе?