nohup
백그라운드에서 Python 스크립트를 시작하려고 하면 오류 125와 함께 종료되지만 와일드카드를 사용하여 동일한 파일을 가리키면 nohup
정상적으로 작동합니다.
root@rpi_2:/home/pi/shortcuts# nohup -c bash 'python /home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py' > /dev/null 2>&1 &
[1] 26261
root@rpi_2:/home/pi/shortcuts#
[1]+ Exit 125 nohup -c bash 'python /home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py' > /dev/null 2>&1
root@rpi_2:/home/pi/shortcuts# ls /home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py
/home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py
root@rpi_2:/home/pi/shortcuts# nohup bash -c 'python /home/pi/shortcuts/python/*pir*v2*' > /dev/null 2>&1 &
[1] 26304
root@rpi_2:/home/pi/shortcuts# ps topbutton
USER PID %CPU %MEM START TIME STAT COMMAND
root 26304 0.1 0.6 10:27 0:00 S<l python /home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py
root@rpi_2:/home/pi/shortcuts#
이전에는 이런 일이 일어난 적이 없었기 때문에 궁금했습니다.
답변1
nohup
유효하지 않은 옵션을 얻으면 오류 125와 함께 종료됩니다.
> /dev/null 2>&1
리디렉션( ) 으로 인해 오류 메시지가 표시되지 않습니다.
$ nohup -c bash 'python /home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py'
nohup: invalid option -- 'c'
Try 'nohup --help' for more information.
-c
따라서 및 를 교체했기 때문에 오류가 발생합니다 bash
.
또한 와일드카드를 사용하지 않을 때는 셸을 실행할 필요가 없으므로 이 정도면 스크립트를 실행하기에 충분합니다.
nohup python /home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py > /dev/null >&1 &