Можно ли запустить программу Python с помощью Nice в терминале Mac?

Можно ли запустить программу Python с помощью Nice в терминале Mac?

Я пытаюсь назначить высокий уровень приоритета программе Python, как только она запустится с помощью Terminal. Я думаю о синтаксисе в духе:

sudo nice -n -20 pythonfile.py

Это возвращает ошибку: no such file. Однако,

python pythonfile.py

работает просто отлично, так что файл определенно существует. Единственные другие примеры в Интернете, которые я видел, это файлы оболочки, заканчивающиеся на sh, такие как

sudo nice -n -20 ./test.sh

Но я хочу иметь возможность сделать это для файла Python. Кстати, я могу применить это к уже запущенной программе Python, используя , reniceно я хочу иметь возможность назначить высокий приоритет задаче с самого начала.

решение1

Неважно, запускаете ли вы скрипт оболочки или скрипт Python, и даже неважно, используете ли вы sudoand/or niceили нет. Окончательный синтаксис остается тем же, если вы обратите внимание накакую команду вы запускаете– то есть, вызываете ли вы явно интерпретатор или напрямую запускаете скрипт как программу.

В вашем рабочем примере вы работаете pythonкак реальная программа, а имя скрипта — это просто параметр. Это работает, потому что программа 'python' автоматически находится через $PATH.

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

В вашем нерабочем примере вы не указали интерпретатор, поэтому вместо него скриптсамстановится командой для выполнения. Система снова пытается найти его через $PATH и терпит неудачу. Чтобы это сработало, необходимо указать, где находится скрипт или программа.

Обратите внимание, что в примере, который вы нашли для shellscripts, указан каталог, в котором находится скрипт (именно эта ./часть означает «текущий каталог»).

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

(Также обратите внимание: поскольку вы не сообщаете системе, какой интерпретатор использовать, сценарий1-я строканужно сделать это вместо этого. Обычно следует сказать #!/usr/bin/env python.)

Итак, ответ таков: и sudo, и nice следуют тем же правилам, описанным выше, что и обычные команды. Например, вы можете запустить скрипт следующим образом:

питонмойскрипт.py
судопитонмойскрипт.py
хороший -н -20узелмойскрипт.js
судо хороший -н -20Башмойскрипт.ш

То же самое касается и прямого вызова скрипта:

./тест.py
судо./тест.pl
хороший -н -20./тест.js
судо хороший -н -20./тест.ш

Связанный контент