Perfmon может сделать это для Вас грубым способом, но это могло бы просто быть достаточно, для какого Вам нужно. Попробуйте объект "Процесса", выбрав процесс, который Вы хотите контролировать, и изображающий в виде графика / запись "IO Другие Байты / секунда" счетчик. "Объяснить" текст для этого счетчика в Windows XP:
Уровень, на котором процесс выпускает байты к операциям ввода-вывода, которые не включают данные, такие как операции управления. Этот счетчик считает все действие ввода-вывода сгенерированным процессом для включения файла, сети и устройства I/Os.
Если процесс сделает Microsoft "файл и печать, совместно использующая" доступ с помощью SMB, то Вы захотите "Байты Чтения IO / секунда" и "Байты Записи IO / секунда", хотя, если процесс также делает IO к локальному диску затем, те количества IO будут смешаны в, также.
Стандартный подход к выполнению одной команды, если другой перестал работать, должен проверить статус выхода первой команды на что-либо кроме успеха и работать раз так.
Вот является тот недавно замеченным hacktastic примером:
### Start SSH if it stops.
*/8 * * * * /usr/lib/nagios/plugins/check_ssh -p 22 10.0.0.34 > /dev/null || /etc/init.d/sshd restart
Вышеупомянутое будет только работать "/etc/init.d/sshd перезапуск" команда, если начальная команда перестанет работать. Это точно, что Вы ищете. Я предполагаю, что это находится только на том мейнфрейме, потому что это копирует простые условные операторы, которые существуют в примерно каждой оболочке.
Если у Вас есть целый набор "заданий", которые должны быть выполнены, ТОЛЬКО ЕСЛИ первые сбои... затем просто помещают все те задания в сценарий оболочки и начальную команду в кроне:
# Run my cool script if "somecommand" fails.
*/8 * * * * /usr/bin/somecommand || /home/foo/bin/mycoolscript.sh
Для удара && и || созданный-ins сделает.