Все, что необходимо сделать, перетащить. В изображении ниже, я выбрал Firefox, и нахожусь в процессе перемещения его вниз несколько мест:
Для удаления значка просто вырывают его и добавить, что каждый перешел к нему в меню и перетаскивает его на правую сторону.
Позвольте мне дернуть здесь решение @jimmij указывало, с незначительной модификацией.
(gdb) attach <pid>
...
(gdb) call open("/dev/null",O_WRONLY)
$1 = 3
(gdb) call dup2($1,fileno(stdout))
$2 = 1
(gdb) call close($1)
...
(gdb) detach
...
Для тех, которые не знакомы с GDB, «Прикрепить» «Call» «Detach» - команды GDB. Получить информацию с помощью «Справка присоединить» в подсказке GDB. И «Открыть» «DUP2» «Закрыть» - это библиотечные функции. Получить информацию с «Man 2 Open».
Здесь O_Wronly равен 1 и FileNO (STDOUT) равняется 1. Используйте буквальные значения или GDB могут жаловаться на отсутствие символов.
И если мы хотим найти файловый дескриптор уже открытый, мы можем.
$ cd /proc/<pid>/fd
$ for i in * ; do
if [[ `readlink $i` == "/dev/null" ]]
fd=$i ; break
fi
done
Один из подходов может заключаться в подключении отладчика к процессу и открытии stdout на /dev/null:
gdb --batch -ex 'call close(1)' -ex 'call open("/dev/null",2)' -p "$pid"
Следующее предотвратит нормальную доходность, а также сообщения об ошибках
2&>1 >/dev/null