И как узнать, происходят ли какие-либо из них и приводят ли они к ошибке, возвращаемой fork() или system()? Другими словами, если fork() или system() возвращаются с ошибкой, какие вещи в Linux я могу проверить, чтобы диагностировать, почему возникает эта конкретная ошибка?
Например:
- Просто не хватает памяти (приводит к ошибке ENOMEM) — проверьте использование памяти с помощью «свободно» и т. д.
- Ядру не хватает памяти для копирования таблиц страниц и другой учетной информации родительского процесса (приводит к ошибке EAGAIN).
- Существует ли глобальный лимит процесса? (также приводит к ошибке EAGAIN?)
- Существует ли ограничение на количество процессов для каждого пользователя? Как я могу узнать, что это такое?
- ...?