для отладки причин я хочу определить одну из тех ошибок, обнаруживающихся просто иногда. Поэтому я хочу кодировать некоторое время цикл в оболочке
Проблема здесь состоит в том, что PID изменится. Можно ли дать мне подсказку о том, как выполнить это? Я использую zsh, но другие оболочки приветствуются также!
#/usr/bin/env zsh
for i in `seq 1 10`; do
echo "start sleep";
sleep 30&
LAST_CHILD=$!
echo "PID\$!: "$LAST_CHILD;
echo "wait for kill:"
sleep 1 && kill -9 $LAST_CHILD;
done
должен работать с ударом также, но мне все еще нужно некоторое segfault обнаружение так аварийные прекращения работы цикла.
Не сделали этого некоторое время, но основная идея состоит в том, чтобы заставить рабочую оболочку отправлять, это - PID в именованный файл, прежде чем она запустит цикличное выполнение, и затем читайте, тот файл въезжают задним ходом с отдельной уничтожающей программой, которая имеет таймер на ней. Это не "твердо", но дьявол в деталях...
Попробуйте сценарий удара здесь:
http://www.cyberciti.biz/faq/shell-scripting-run-command-under-alarmclock/
Это делает икру сторожевого процесса, который знает, что PID подкоманды работает. Протест: в этом сценарии, команда для уничтожения потребностей быть непосредственным ребенком сценария.