작업을 사용하여 스크립트 생성을 통해 작업을 관리하는 방법

작업을 사용하여 스크립트 생성을 통해 작업을 관리하는 방법

하나 있는 경우 run_script해당 내용은 다음과 같습니다.

#run_script file
ls

그런 다음 이를 사용하여 명령을 bash run_script실행할 수 있습니다 ls. 하지만 이제 하나가 생겼고 run_script그 내용은 다음과 같습니다.

#run_script file
python3 mate30pro5g.py & python3 Mathematica.py & python3 opencv.py &

jobs를 실행한 후 명령을 통해 백그라운드 작업을 확인할 수 없다는 것을 발견했습니다 bash run_script. 하지만 모든 작업이 실행 중이라는 것을 알 수 있습니다 ps aux | grep python3. 그런데 이 명령을 사용하여 모든 작업을 관리하고 싶은데 jobs왜 이 명령으로 검사를 찾을 수 없나요? 내가 놓친 게 무엇입니까?

답변1

를 사용하여 새 셸을 시작하면 작업 제어가 손실됩니다 bash run_script. Python 프로세스는 새로 시작된 bash 프로세스의 하위 프로세스로 실행되며 스크립트가 종료되면 (현재 죽은) 상위 프로세스에서 분리됩니다. 현재 쉘의 서브루틴으로 프로그램을 시작하려면 다음을 사용하여 스크립트를 얻을 수 있습니다.

. run_script

으로 차이점을 확인할 수 있습니다 ps auxf.

관련 정보