Кроме команды уничтожения или системы уничтожают (pid, сигнал) команду, что может заставить SIGKILL происходить для процесса?

Вы не можете записать (=redirect) в тот же файл, из которого Вы читаете. Или перенаправьте в другой файл или использование sed.

sed -i "/$rpc_port/d" $dir
2
28.01.2014, 09:55
2 ответа

Выполните его через отладчик (gdb?) и набор точка останова для системного вызова уничтожения. Затем надеюсь, что след может сказать Вам, что в Вашем коде инициировало его. (не держите много надежды на наблюдение ни в какие внешние библиотеки),

0
27.01.2020, 22:13
  • 1
    не совсем идеальная вещь сделать, так как это только, уничтожает SIGKILL, который я хочу прервать. уничтожьте с другими сигналами, в порядке. Проблема также происходит только один раз в такое количество дней. Если код не имеет уничтожения с SIGKILL в нем, я задаюсь вопросом, что могло заставить уничтожение с SIGKILL происходить в трассировке. –  James 28.01.2014, 19:02
  • 2
    , отлаживающий, никогда не идеален. –  Ricky Beam 28.01.2014, 21:00

Если пространство пейджинга используется все больше и больше, то при достижении заданного порога AIX начнет убивать самые последние порожденные процессы, что происходит довольно часто. Этот порог можно задать через vmo -o npskill см. например http://www-01.ibm.com/support/docview.wss?uid=isg3T1012693 :

Формула для определения значения npskill по умолчанию следующая:
npskill = number_of_paging_space_pages/128
Значение npskill должно быть больше нуля и меньше, чем общее количество > страниц пейджингового пространства в системе. Этот параметр может быть изменен с помощью команды Команда ВМО.

Для этого вы увидите ERRPT с меткой PGSP_KILL и он будет выглядеть следующим образом:

C5C09FFA DATE P S SYSVMM            SOFTWARE PROGRAM ABNORMALLY TERMINATED

Если вы посмотрите в подробности через errpt -a вы также увидите PID, название процесса и дату.

2
27.01.2020, 22:13

Теги

Похожие вопросы