Я добавил git pull &
моему bashrc, чтобы всегда поддерживать конкретный проект в актуальном состоянии!
Однако это означает, что каждый раз, когда я открываю терминал, я получаю сообщение вроде
[17]+ Running git pull
И через несколько секунд
[17] Done
Есть ли способ остановить этот вывод? Я уже отправляю весь вывод в dev null, поэтому полная команда git pull >/dev/null 2>&1 &
Сообщения на экране являются результатом фон работа, не сама работа.
Попробуй это:
#!/bin/bash
exec &> /dev/null
git pull
В этом варианте фоновый процесс задания представляет собой сценарий, который уже перенаправляет весь вывод.
Конечно, такая команда действительно должна быть в вашем bash_login или в вашем .profile, а не в .bashrc.
Вы могли бы использовать в (1) или даже партия (1) чтобы запустить вашу команду:
echo git pull | at now 2>/dev/null
Таким образом, он также не получит SIGHUP, если вы немедленно выйдете из системы. В 2>/dev/null
предотвращает сообщение job 1334584295.a at Mon Apr 16 15:51:35 2012
быть написанным в команда.
Возможно, вам придется добавить свое имя пользователя в /usr/lib/cron/at.allow
(расположение этого файла может отличаться в зависимости от нашей версии UNIX / Linux).
используйте nohup:
nohup git pull &
Используйте подоболочку и отключите STDOUT и STDERR:
(&>/dev/null git pull &)
Я обнаружил, что использование подоболочки приводит к отключению фоновой обработки задания:
(git pull &)