Нужна помощь в следующем расследовании:
На одной плохой Linux-машине иногда один из моих модулей не запущен. На другой ok-Linux-машине (та же ОС, тот же модуль) — мой модуль запускается всегда. Архитектура следующая: один модуль (mymain) загружает патч других модулей и запускает его с помощью функции call system ().
Код:
int ret = system(mypatch);
где mypatch — имя моего модуля, например «usr / local / test / module1».
Значение ret всегда = 0;
С помощью Трассирование очень редко: в плохой Linux-машине strace не работает должным образом — вызов моего модуля отсутствует в trace-файле, другая сторона — в ok-Linux-machine — я вижу всю информацию:
execve("/bin/sh", ["sh", "-c", "/usr/local/test/module1 &"],....)
ОС: Red Hat Entterprise Linux Server, выпуск 5.3 (Tikanga)
использование strace: strace -s 512 -o сбой -f -v -ff ./mymain
Вопрос : любая идея ?
Задача ещё не решена.