Спасибо ссылке:
gdbРезюмируя всё сказанное можно составить такой план действий.
Останавливаем процесс. Можно воспользоваться killall, можно kill -20 %название процесса. Я написал маленький скриптик:
#!/bin/bash
pid=`ps ax | grep "$1" | grep -v grep | cut -c1-6` &> /dev/null
pid=`echo $pid` &> /dev/null
kill -20 $pid
exit
Строка pid=`echo $pid` &> /dev/null для того что бы убрать пробелы перед номером pid если он 4-х, 3-х значный. По другому этот пробел у меня не получилось убрать.
Параметром этому скрипту передаём процесс который хотим остановить. Если процессов два или более, например:
tcpdump -i eth0 -n -nn
tcpdump -i eth1 -n -nn
то необходимо в параметре к скрипту передавать название самого процесса и его параметры, только всё это заключать в двойные кавычки, например:
скрипт "tcpdump -i eyh0 -n -nn"
После этого вывод на консоль уже не идёт, можно создать файлы куда в дальнейшем будем писать вывод, по команде ps узнать их pid-ы,
и далее выполнить такие команды для каждого процесса:
gdb даёт свою командную строку в ней вводим:
p close(1)
p open("/путь/файл1", 1)
p close(2)
p open("/путь/файл2", 1)
q
далее подтверждаем "y"
Всё теперь вывод можно смотреть по команде tail:
Расписал всё подробно, может кому пригодится.