Я создаю быстрый socat
TCP-прослушиватель, а затем запускаю простой expect
сценарий.
Давайте запустим прослушиватель:
socat TCP-LISTEN:5000,fork EXEC:my_exp_script
, который затем прослушивает порт 5000, принимает, разветвляется и выполняет my_exp_script
здесь:
#!/usr/bin/expect
expect {
"hello" { send "world" ; exp_continue }
}
Достаточно просто, НО каждые my_exp_script
разветвленный процесс теряет связь при разрыве соединения (и требует kill -9
). Как я могу гарантировать, что не порожденные процессы socat
будут потеряны?