Я пытаюсь реализовать простой сервер журналов в Bash. Он должен принимать файл в качестве параметра и передавать его через порт с помощью netcat.
( tail -f $1 & ) | nc -l -p 9977
Но проблема в том, что когда netcat завершает работу, tail остается позади. (Уточнение: если я не разветвляюсь, процесс хвоста будет продолжаться вечно, даже если netcat завершит работу.)
Если бы я как-то знал PID хвоста, я мог бы потом его убить.
Очевидно, используя $! вернет PID netcat.
Как я могу получить PID хвостового процесса?