Длительный запуск фонового процесса в Unix (ppid = 1) - PullRequest
0 голосов
/ 08 января 2019

У меня есть сценарий оболочки, в котором я порождаю несколько дочерних процессов (используя &) для параллельного выполнения некоторых действий. Я добавил логику, чтобы убедиться, что не более 10 процессов работают параллельно.

Общее количество процессов составляет около 3000. И из них есть один огромный процесс, который занимает более 4 часов. Другие процессы меньше и занимают не более нескольких минут.

Я использовал команду wait в конце скрипта, чтобы убедиться, что все процессы bg завершены до выхода из скрипта.

Но я обнаружил, что длительный процесс все еще выполняется в фоновом режиме, пока родительский скрипт завершил выполнение. Ppid процесса теперь отображается как «1».

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

...