Я запускаю сценарий с одного компьютера на другом компьютере, используя SSH.
ssh <host> a.pl
Теперь a.pl запускает несколько других экземпляров a.pl, используя метод 'system', и выполняет каждый из них в фоновом режиме. Я интегрировал это с LDAP, и когда один из экземпляров умирает, основной сценарий a.pl узнает об этом, так как постоянно отслеживает их. Следовательно, при обнаружении того, что один из экземпляров умер, основной скрипт тоже умирает, а остальные экземпляры затем принадлежат init (1).
Я ожидаю, что ssh завершит работу, когда этот основной скрипт умрет. Но почему-то кажется, что ssh продолжает ждать всех запущенных процессов. SSH выходит, когда я убиваю оставшиеся экземпляры.
Это ожидаемое поведение? Если да, то почему это так?