Вывод одной команды передается на другой; как закрыть оба?

Я называю Qt Assistant, как предлагается в stackoverflow :

nc -lkU ~/.assistantfifo | assistant -enableRemoteControl & 

Окно Qt Assistant открывается, и если я вызываю jobs , он возвращает:

 [1] + running nc -lkU ~/.assistantfifo | assistant -enableRemoteControl 

Затем я закрываю Qt Assistant (просто нажав «x»). Теперь jobs возвращаются:

 [1] + running nc -lkU ~/.assistantfifo | done assistant -enableRemoteControl 

Итак, nc продолжает работать, и я должен ввести killall nc .

Как сделать nc закончить тоже, когда я закрываю Qt Assistant? Или, наверное, я должен сделать это как-то иначе?

2 Solutions collect form web for “Вывод одной команды передается на другой; как закрыть оба?”

Команда, которую вы запускаете ( nc aka netcat ), будет прослушивать ввод при запуске с флагом -l . Обычно netcat в режиме прослушивания закрывается, когда он получает символ конца файла, но флаг -k предотвращает это. Другими словами, netcat не будет закрываться, пока вы не убьете его из-за того, как вы вызывали команду.

См. Справочную страницу для получения дополнительной информации.

Если вы хотите отделить второй процесс, вам также необходимо сгруппировать их с помощью

 $ ( nc -lkU ~/.assistantfifo | assistant -enableRemoteControl ) & 

иначе это не сработает. Скобки необходимы для отсоединения обоих процессов.

  • Невозможно убить процесс, даже с помощью root. Как диагностировать?
  • В AwesomeWM используется `c: kill ()` так же мягко, как щелчок на красном кресте в другом оконном менеджере?
  • Декодировать флаги для команды Kill
  • как убить работу в фоновом режиме?
  • Работайте с setid, чтобы открыть сеанс и закрыть его правильно.
  • Как я могу убить вредоносное ПО на сервере AWS EC2? (скомпрометированный сервер)
  • Как я могу убить процесс, выполняющийся на определенном IP-адресе и порту?
  • SIGTERM не работает иногда
  • Продолжается ли pkill (и его родительские процессы)?
  • Выполняет ли дочерний процесс fork оболочки в bg сигналы SIGSTOP от родителя?
  • получение pid двух последних команд, выполненных в фоновом режиме и выполняющих
  • Interesting Posts

    Symlink в каталоге init.d заменяется обычным файлом после перезагрузки системы

    Критическая ошибка L2tpIPsecVpnControlDaemon

    Как добавить разрешение группы только для чтения в папку, у которой уже есть группа по умолчанию, и унаследовать ее для всех вновь созданных файлов и папок?

    Что может сделать 64-разрядный Linux для 32-разрядного Linux-устройства?

    Запретить расширение подстановочных знаков при поиске

    Удаление пакета Debian автоматически маскирует службу systemd – вызывает предупреждение systemd

    Создать версию с помощью tar

    Почему время bash точнее, чем время GNU?

    Solaris SMF vs Linux Upstart

    Использование! в расширении параметра

    Что означают поля в / proc / net / ipt_hashlimit / FILE?

    Как убить команду, выполненную из скрипта?

    как использовать tc с htb на arch-linux

    Расшифровать второй зашифрованный LVM во время загрузки безглавых серверов?

    остановка команды терминала gnome-open от открытия файлов как максимальная

    Linux и Unix - лучшая ОС в мире.