Я начинаю процесс, используя execv
и позволяя ему записывать в файл. Я запускаю поток одновременно, который контролирует файл таким образом, чтобы его размер не превышал определенного предела, используя stat.st_size
. Теперь, когда предел поражен, I waitpid
для дочернего процесса, но это вызывает ошибку, и процесс, который я запускаю в фоновом режиме, становится зомби. Когда я делаю остановку, используя тот же самый waitpid
из основной нити, процесс уничтожается, не становясь зомби. Есть идеи?waitpid для дочернего процесса не удается
Редактировать: errno
- 10 и waitpid
возвращает -1. Это на платформе Linux.
«но это порождает ошибку ...», и эта ошибка будет ... что? включают коды ошибок и все связанные сообщения * verbatim * в вашем размещенном вопросе. Также можно включить информацию о платформе. – WhozCraig
waitpid возвращается -1 с ошибкой, установленным в 10. Ошибка errno указывает на то, что дочерний процесс не существует. Но, похоже, это не так, поскольку я могу видеть процесс с помощью ps ax. ОС - Linux. – user1295872
И это будет в * комментарии *. Эта информация принадлежит * в вашем размещенном вопросе. * Независимо, возможно, раздел «Примечания к Linux» [в документации «waitpid»] (http: //linux.die.net/man/2/waitpid) могут быть связаны. – WhozCraig