Как запустить скрипт на Perl в фоновом режиме

Я новый пользователь Ubuntu ...

Положить & amp; и, в конце концов, приложение помещается в фоновый режим, но не совсем, оно все равно дает мне вывод сценария perl в моей командной строке, даже если он работает в фоновом режиме. Так что это становится бесполезным, так как мне приходится ждать завершения полного сценария.

Например:

output of perl..
..
..
Done.

Так что мне все еще нужно дождаться выполнения сценария perl, есть ли способ, как можно заставить сценарии такого типа работать в фоновом режиме, чтобы я не придется ждать?

Я уже пробовал следующее:

command > test.txt //This generated emptyfile test.txt and all the output is still on command line instead of test.txt
command > /dev/null
command < /dev/null

Ни один из них не был успешным.

Пожалуйста, не предлагайте открывать новую консоль командной строки, выполнив CTRL + SHIFT + T или CTRL + ALT + T, потому что я не хочу этого делать, я хочу запустить скрипт perl в фоновом режиме, выполняя некоторую работу.

Для других сценариев Perl & amp; работает нормально, но для этого, нет, есть ли какой-нибудь способ?

Редактировать: Получил решение благодаря John1024 и Фолькеру Зигелю.

команда 2> / dev / null &

1
задан 20 July 2014 в 03:27

2 ответа

Команды могут произвести вывод на stdout или stderr. Команды, которые Вы попробовали перенаправленный только stdout. Под bash, можно перенаправить вывод от обоих потоков сразу с помощью:

command &>test.txt &

Или

command &>/dev/null &

при использовании оболочки POSIX, тогда необходимо сделать перенаправление на шагах:

command >test.txt 2>&1 &

>test.txt перенаправления stdout в файл test.txt. Поскольку stderr является дескриптором файла 2, эффект 2>&1 состоит в том, чтобы перенаправить stderr к тому, везде, куда stdout, обозначенный &1, в настоящее время идет.

2
ответ дан 20 July 2014 в 03:27

Похоже, что вывод идет в поток сообщений об ошибках, stderr - так перенаправление что вместо stdout:

command 2> errors.txt

Или перенаправление оба вместе в тот же файл:

command > errors.txt 2>&1

В случае, если Вы хотите знать, все это - "вскакивает в кроличью нору" - видят , Проиллюстрированное Учебное руководство

по Перенаправлению Видит также nohup - полезно, если Вы хотите сохранить команду, бегущую за закрытием терминала:

nohup command

(man nohup для деталей)

0
ответ дан 20 July 2014 в 03:27

Другие вопросы по тегам:

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