Mac 터미널에서 Nice를 사용하여 Python 프로그램을 실행할 수 있나요?

Mac 터미널에서 Nice를 사용하여 Python 프로그램을 실행할 수 있나요?

터미널을 사용하여 Python 프로그램을 실행하자마자 Python 프로그램에 높은 우선순위 수준을 할당하려고 합니다. 나는 다음과 같은 구문을 생각하고 있습니다.

sudo nice -n -20 pythonfile.py

그러면 오류가 반환됩니다: no such file. 하지만,

python pythonfile.py

잘 작동하므로 파일이 확실히 존재합니다. 내가 본 인터넷의 유일한 다른 예는 sh로 끝나는 쉘 파일입니다.

sudo nice -n -20 ./test.sh

하지만 저는 Python 파일에 대해 이 작업을 수행할 수 있기를 원합니다. 우연히도 나는 이것을 사용하여 이미 실행 중인 Python 프로그램에 적용할 수 있지만 renice처음부터 작업에 높은 우선순위를 할당할 수 있기를 원합니다.

답변1

sudo쉘 스크립트를 실행하는지 Python 스크립트를 실행하는지 여부는 중요하지 않으며 사용 여부 도 중요하지 않습니다 nice. 주의를 기울이는 한 최종 구문은 여전히 ​​​​동일합니다.어떤 명령을 실행하고 있나요?– 즉, 명시적으로 인터프리터를 호출하는지 아니면 스크립트를 프로그램으로 직접 실행하는지 여부입니다.

작업 예제에서는 실제 프로그램으로 실행 중이며 python스크립트 이름은 매개변수일 뿐입니다. 이는 'python' 프로그램이 $PATH를 통해 자동으로 발견되기 때문에 작동합니다.

python myscript.py
bash myscript.sh
node myscript.js

작동하지 않는 예에서는 통역사를 지정하지 않았으므로 대신 스크립트그 자체실행하라는 명령이 됩니다. 시스템은 다시 $PATH를 통해 이를 찾으려고 시도하지만 실패합니다. 이를 작동시키려면 스크립트나 프로그램이 있는 위치를 지정해야 합니다.

쉘스크립트에 대해 찾은 예제가 스크립트가 있는 디렉토리( ./"현재 디렉토리"를 의미하는 부분)를 어떻게 지정하는지 참고하세요.

./myscript.py
./myscript.sh
./myscript.rb

(참고: 어떤 인터프리터를 사용할지 시스템에 알려주지 않기 때문에 스크립트의첫 번째 줄대신 그렇게 해야 합니다. 일반적으로 이라고 말해야 합니다 #!/usr/bin/env python.)

따라서 대답은 sudo와 nice 모두 위에서 설명한 일반 명령과 정확히 동일한 규칙을 따른다는 것입니다. 예를 들어 다음과 같이 스크립트를 실행할 수 있습니다.

파이썬myscript.py
sudo파이썬myscript.py
좋은 -n -20마디myscript.js
sudo 좋은 -n -20세게 때리다myscript.sh

직접 스크립트 호출에도 동일하게 적용됩니다.

./test.py
sudo./test.pl
좋은 -n -20./test.js
sudo 좋은 -n -20./test.sh

관련 정보