복붙노트

[PYTHON] 파이썬에서 os.system ()의 반환 값은 무엇입니까?

PYTHON

파이썬에서 os.system ()의 반환 값은 무엇입니까?

나는 이걸 보았다.

>>> import os
>>> os.system('ls')
file.txt README
0

os.system ()의 반환 값은 무엇입니까? 내가 왜 0을 얻는가?

해결법

  1. ==============================

    1.os.system의 반환 값은 OS에 따라 다릅니다.

    os.system의 반환 값은 OS에 따라 다릅니다.

    Unix에서 반환 값은 두 개의 다른 정보를 포함하는 16 비트 숫자입니다. 문서에서 :

    따라서 신호 번호 (하위 바이트)가 0이면 이론적으로 결과를 8 비트 (결과 >> 8)로 이동하여 오류 코드를 얻는 것이 안전 할 것입니다. 함수 os.WEXITSTATUS는 정확히 이것을 수행합니다. 오류 코드가 0이면 대개 프로세스가 오류없이 종료되었음을 의미합니다.

    Windows에서, os.system의 리턴 값은 쉘 종속임을 문서는 지정합니다. 셸이 cmd.exe (기본값) 인 경우이 값은 프로세스의 반환 코드입니다. 다시 0은 오류가 없음을 의미합니다.

    다른 오류 코드의 경우 :

  2. ==============================

    2.os.system ( 'command')는 16 비트 숫자를 반환하는데, 왼쪽에서부터 처음 8 비트 (lsb)는 os가 명령을 닫는 데 사용하는 신호를 말하고, 다음 8 비트는 명령의 반환 코드를 나타냅니다.

    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 프로그램을 가질 수 = 'python command.py'

    import sys
    sys.exit(n)  # here n would be exit code
    

    C 또는 C ++ 프로그램의 경우 모든 함수에서 main () 또는 exit (n)에서 return을 사용할 수 있습니다 #

    주 - 이것은 유닉스에 적용 가능하다.

    .

  3. ==============================

    3.http://docs.python.org/library/os.html#os.system

    http://docs.python.org/library/os.html#os.system

    오류가 없으므로 이탈 코드는 0입니다.

  4. ==============================

    4.os.system ()은 명령 출력이 아닌 유닉스 출력을 반환합니다. 따라서 오류가 없으면 0으로 작성된 종료 코드를 사용하십시오.

    os.system ()은 명령 출력이 아닌 유닉스 출력을 반환합니다. 따라서 오류가 없으면 0으로 작성된 종료 코드를 사용하십시오.

  5. from https://stackoverflow.com/questions/6466711/what-is-the-return-value-of-os-system-in-python by cc-by-sa and MIT license