Как запустить команду из терминала / скрипта, не дожидаясь выхода из программы?

3677

Проблема заключается в том, что если я выполняю команду (например, скрипт Python), терминал или скрипт ждут, пока программа вернет состояние выхода, чтобы продолжить или вернуться к терминалу. Есть ли способ обойти это?

0
Вы можете запустить его в фоновом режиме, просто сделайте: ./command.py & 11 лет назад 0

3 ответа на вопрос

2
poke

In most shells, you can launch commands or processes in the background by appending an ampersand (&) to the command:

python file.py & 
Уже пробовал это, но это не работает. 11 лет назад 0
Решаемые. Спасибо за помощь. 11 лет назад 0
1

Several choices:

  1. Run it in screen. man screen, screen, myprorgamm, C-a d, screen -r.
  2. nohup myprogramm
  3. myprogramm &
Пробовал: `$ screen _command_`,` $ nohup _command_` `$ _command_ &`. Пока ничего не получалось. 11 лет назад 0
Вам нужно сначала запустить экран отдельно; и если у вас нет экрана, сначала установите его. poke 11 лет назад 0
для экрана - начните с `man screen`, это сложное приложение с множеством функций. `nohup` и` & `(он же detach) не может" не работать ", правда. если есть какая-либо ошибка - обязательно опубликуйте ее здесь. 11 лет назад 1
Эй, обходной путь амперстенда работает, но по какой-то неизвестной причине я должен дважды щелкнуть на окне терминала, потому что новая строка по какой-то причине не появляется. Решено, спасибо! 11 лет назад 0
0

Yes. If you're using Bash or a similar shell, type:

./your_script.py & 
Пробовал это из терминала, но это не работает. 11 лет назад 0
Какую ОС и оболочку вы используете? 11 лет назад 0
_Trisquel GNU / Linux_ с _dash_. В терминале я использую _bash_, а в скриптах _dash_. Ни один из них не работает. Я пытаюсь выполнить команду _ / usr / share / screenlets / CircleClock / CircleClockScreenlet.py_, которая является частью программы с именем _Screenlets_ (также доступна в _Ubuntu_). 11 лет назад 0

Похожие вопросы