LINUX.ORG.RU

Отключить уведомление о завершении фонового процесса.


0

0

В .bashrc прописал:

program1 >/dev/null 2>&1 &

Однако при выполнении первой же команды в консоли к выводу подмешивается мусор от информирования о завершении program1.

$ uname
Linux
[1]+  Done      program1  >/dev/null 2>&1 &

Видно, что перенаправлено всё, что можно; пытался делать exec program >/dev/null 2>&1 & — без толку.

Интуитивно ясно, что надо отвязать program1 от консоли, но как?

Спасибо заранее всем участвующим.


nohup-ы тоже не помогают.

mclaudt
() автор топика

Это называется job control. Фича в общем полезная. Выхлоп отключается с помощью

set +m

nu11 ★★★★★
()
Ответ на: комментарий от edigaryev

screen program1 > /dev/null 2>&1

Если не в фоне запускать, то все работает, а в фоне пишет

«Must be connected to a terminal.» и не исполняется.

Мне как раз в фоне нужно, ибо несколько секунд выполняется.

mclaudt
() автор топика
Ответ на: комментарий от nu11

>>set +m

Отлично, почти получилось.

Есл в консоли писать, то это прокатывает, и уведомления не посылаются.

Если писать в .bashrc, то все равно плюётся мусором.

Видать надо прописывать set +m не в .bashrc, а там, откуда .bashrc вызывается.

Буду думать, спасибо всем большое.

mclaudt
() автор топика
Ответ на: комментарий от mclaudt

Решено

Чтобы избежать таких уведомлений, в .bashrc нужно прописать

program1 >/dev/null 2>&1 &

disown %program1

Почему не сработал вариант, предложенный nu11 и работающий в консоли (если команды вводить непосредственно) — пока неясно.

mclaudt
() автор топика
Ответ на: комментарий от mclaudt

>Если писать в .bashrc, то все равно плюётся мусором.

есть такое. Хотя set показывает, что выключено. Видимо баг в баше

nu11 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.