Управление таблицей процессов и размещениями в ОЗУ всегда является заданием ядра. Ядро действует, когда некоторый процесс делает системный вызов. Когда процесс выходит, все ресурсы, которые он использует, включая память, за исключением записи в таблице процессов, удалены −, который это что _exit
системный вызов делает. Затем когда родительский процесс звонит wait
или waitpid
, часть задания того системного вызова должна очистить запись таблицы процессов. Родительский процесс может решить звонить wait
каждый раз, когда это хочет (если родитель init
, это звонит wait
в значительной степени все время).
Вы попытались использовать регистратор с заменой процесса?
$ forever -a >(logger -t forever) -o >(logger -t app.js) -e >(logger -t app.js) app.js
Можно играть вокруг с logger -p
переключатель для определения уровней журнала, предупредите, информация, допустите ошибку, и т.д. а также другие переключатели регистратора. forever -l
должен был быть изменен на forever -a
.
Я попробовал это несколькими файлов примера, установленных навсегда, и это работало. Каждый дистрибутив может зарегистрироваться к различному файлу журнала по умолчанию, необходимо будет экспериментировать с переключателями регистратора.
С rsyslog
можно использовать Входной Модуль Текстового файла, чтобы контролировать файлы журнала и обработать их.
logger
отдельно, фигура, какие переключатели помогут Вам, затем изменяет пример для удовлетворения.Удачи. – bsd 03.03.2012, 19:53