Назад | Перейти на главную страницу

Что означает эта строка на моей вкладке cronjob?

* / 5 * * * * / usr / local / bin / php somephpfile.php >> / dev / null 2> & 1

Что именно означает dev / null 2?

Спасибо

2>&1 означает «отправить stderr на стандартный вывод».

>>/dev/null означает «добавить stdout в / dev / null», что позволяет скрыть вывод программы, отправив его в /dev/null, чья единственная цель в жизни - действовать как черная дыра для данных. (Строго говоря, для /dev/null, >>/dev/null такой же как >/dev/null.)

Эти правила оцениваются справа налево, поэтому в комбинации они говорят: «Скрыть все, что выводится на stderr и stdout». Распространенной ошибкой является указание их в обратном порядке, что не скроет вывод stderr.

Также стоит знать: вы можете явно отправить оба потока в /dev/null говоря 1>/dev/null 2>/dev/null или &>/dev/null вместо отправки stderr на stdout, а затем отправки stdout на /dev/null.

Он перенаправляет STDER (стандартная ошибка) вместе с STDOUT (стандартный выход). Короче говоря, оба они перенаправляются в / dev / null, что означает, что вывод программы никогда не отображается.

Это означает перенаправление стандартной ошибки и стандартного вывода на ничто (выбросить).