Обработка временных меток вывода tcpdump в реальном времени

из Справочная страница системы (3) -

system()  executes a command specified in command by calling /bin/sh -c command, and returns after the command has been completed.  During execution of the
       command, SIGCHLD will be blocked, and SIGINT and SIGQUIT will be ignored.

Даже если сигнал отправляется всем процессам (указанным по имени), родительский элемент здесь игнорирует SIGINT во время вызова system (). Однако он должен ответить после завершения вызова (в вашем случае во время sleep ()) - пробовали ли вы увеличить окно сна?

2
03.04.2017, 05:51
1 ответ

Я думаю, вам нужно удалить -0 из командной строки xargs. -0 используется для разделения полей через завершение нулем, и, насколько мне известно, cut не поддерживает этого. Вместо этого я предлагаю использовать -d '\ n' для завершения полей при переносе строки:

... | cut -c -19 | xargs -d '\n' -n1 ./timesec.sh

Из Документов

-0

Вместо этого элементы ввода завершаются нулевым символом пробелом, а кавычки и обратная косая черта не являются специальными (каждый символ берется буквально). Отключает конец строки файла, который обрабатывается как любой другой аргумент. Полезно, когда элементы ввода могут содержать пробелы, кавычки или обратную косую черту. Параметр GNU find -print0 производит ввод, подходящий для этого режима.

- delimiter = delim

-d delim

Элементы ввода завершаются указанным символом. Кавычки и обратная косая черта не являются особенными; каждый символ во вводе воспринимается буквально. Отключает строку конца файла, которая обрабатывается как любой другой аргумент.Это можно использовать, когда входные данные состоят просто из элементов, разделенных новой строкой, хотя почти всегда лучше разрабатывать свою программу, чтобы использовать --null там, где это возможно. Указанный разделитель может быть одиночным символом, escape-символом в стиле C, например \ n, или восьмеричным или шестнадцатеричным escape-кодом. Восьмеричные и шестнадцатеричные escape-коды понимаются как для команды printf. Многобайтовые символы не поддерживаются.

0
27.01.2020, 22:40

Теги

Похожие вопросы