Практическое руководство создает постоянное соединение клиента с netcat?

Консольное резервное устройство для этого top, но существуют альтернативы как мой фаворит htop это дает Вам немного больше гибкости дисплея и позволяет Вам еще несколько операций на процессах.

Менее интерактивное представление, которое лучше для использования в сценариях, было бы ps программа и все это - родственники.

Править: На основе Вашего разъясненного вопроса Вы могли бы отметить это strace дескрипторы наблюдая системные вызовы, сделанные данным процессом включая все операции чтения-записи и вызовы функции OS. Можно активировать его на командной строке перед программой, которую Вы хотите отследить или присоединить к рабочему процессу путем удара s на процессе, выбранном в htop.

7
30.06.2011, 20:23
2 ответа

Два отдельных процесса: Тот, который копирует result.txt в netcat. Result.txt питается через другой процесс.

echo -n >result.txt
tail -f result.txt | nc ip port &
while true
do
    read_folder()
    process_data() > result.txt
    wait 10 sec
done
3
27.01.2020, 20:18
  • 1
    Я думал о чем-то как этот кроме первого процесса, возвратится, когда он достигнет конца файла, он не будет ожидать другого процесса для записи в него. –  jmbouffard 07.07.2011, 14:11
  • 2
    @jmbouffard: фиксированный. tail -f продолжит читать файл даже после того, как он достигнет EOF. –  Kevin M 07.07.2011, 22:28
  • 3
    Спасибо это работает удивительно хорошо с хвостом-f. Я даже могу использовать канал FIFO вместо "растущего" файла result.txt для передачи. Ответ принят. –  jmbouffard 08.07.2011, 18:34
  • 4
    @Kevim: редактирование @Gilles сделанный использованием : >result.txt был прекрасен, это не оставляет новую строку в файле. Протестируйте его сами. –  Caleb 08.07.2011, 19:10
  • 5
    echo -n прекрасен также, пока Ваша оболочка поддерживает его (некоторая печать оболочек -n) — так : предпочтительно (это работает везде). И Вам действительно нужно tail -c +1; без него, если tail не спешит запускаться, это опустит все кроме 10 строк того, что уже находится в файле. –  Gilles 'SO- stop being evil' 08.07.2011, 20:22

Просто поместите перенаправление вне цикла.

while true; do
    read_folder
    process_data
    sleep 10
done | netcat $ip $port

Если необходимо произвести к стандартному выводу цикла из цикла, отклоните его через другой дескриптор файла.

{
  while true; do
      read_folder
      echo tick >&3
      process_data
      sleep 10
  done | netcat $ip $port
} 3>&1
4
27.01.2020, 20:18

Теги

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