os.system('command')
возвращает 16-битное число, первые 8 бит которого слева (lsb) говорят о сигнале, используемом os для закрытия команды, следующие 8 бит говорят о коде возврата команды.
00000000 00000000
exit code signal num
Пример 1 - команда выхода с кодом 1
os.system('command') #it returns 256
256 in 16 bits - 00000001 00000000
Exit code is 00000001 which means 1
Пример 2 - команда выхода с кодом 3
os.system('command') # it returns 768
768 in 16 bits - 00000011 00000000
Exit code is 00000011 which means 3
Теперь попробуйте с сигналом - Пример 3- Напишите программу, которая долгое время спит, используйте ее как команду в os.system (), а затем уничтожьте ее с помощью kill -15 или kill -9
os.system('command') #it returns signal num by which it is killed
15 in bits - 00000000 00001111
Signal num is 00001111 which means 15
У вас может быть программа на python как command = 'python command.py '
import sys
sys.exit(n) # here n would be exit code
В случае программ на c или c ++ вы можете использовать return из main () или exit (n) из любой функции #
Примечание. - Это применимо кunix
В Unix возвращаемое значение является состоянием выхода процесса, закодированного в формате, указанном для wait ().Обратите внимание, что POSIX не определяет значение возвращаемого значения функции C system (), поэтому возвращаемое значение функции Python зависит от системы.
os.wait ()
Дождитесь завершения дочернего процесса и верните кортеж, содержащий его pid и индикацию состояния выхода: 16-битное число, младший байт которого является номером сигнала, который убил процесс, и старший байт которого является состоянием выхода (если сигналчисло равно нулю);старший бит младшего байта устанавливается, если был создан файл ядра.
Availability: Unix
.