Обработайте наблюдателя для Mac

Я ищу что-то, что я уверен, там, но я не могу найти его.

У меня есть длительная программа (Моделирование Matlab), который работает в течение 24 часов или больше на Mac в моем офисе. Иногда катастрофические отказы программы, таким образом, я ищу программу или управляю этим, могут периодически проверять, чтобы удостовериться, что процесс все еще работает, и если это не, пошлите мне электронное письмо, таким образом, я могу войти в систему удаленно и перезапустить программирование/устранение проблемы.

Более удобное для пользователя лучше, поскольку я хотел бы, чтобы неопытные пользователи смогли использовать его самостоятельно.

1
задан 17.11.2010, 00:58

3 ответа

Я не использовал Matlab в некоторое время, но от того, что я понимаю от поддержки MathWorks, если бы Ваши катастрофические отказы кода Вы получили бы a matlab_crash_dump.XXXX файл в Вашей домашней папке, где XXXX число. Можно затем использовать Hazel, чтобы обнаружить добавление того файла и затем использовать рабочий процесс Automator для отправки Вам электронного письма.

Я любил бы тестировать это, но в настоящее время не имею ничего, что разрушает Matlab.

2
ответ дан 12.12.2019, 13:04

Вы могли выполнить это с простым сценарием. Любой сценарий Вы довольны, быть этим удар, рубин, applescript или что бы то ни было.

Мне установили сценарий удара на задании крона, которое проверит, работал ли сервер Teamspeak, и в противном случае запустите его.

0
ответ дан 12.12.2019, 13:04

Если Вы хотите поддерживать процесс в рабочем состоянии (или, скорее перезапустите его, если он выходит), использование launchd. Существует рецепт для того, чтобы поддержать TextEdit здесь, и Lingon доступен как GUI для установки его.

Это не идеально подходит для Вашей конкретной проблемы, хотя - launchd перезапустит Ваш процесс каждый раз, когда он выходит, независимо от того, было ли это успешно или нет. Это могло быть большой болью, если бы Ваша программа должна была перезаписать совершенно хороший вывод от предыдущего выполнения. Для обхода этого Вы могли перенести свою программу в сценарии (сценарий оболочки сделает), который запустил бы программу, затем, если бы это было успешно, удалите launchd задание перед выходом. Что-то как:

#!/bin/bash

/my/matlab/program
#$? is the exit value of your program - convention is 0 for success, non-zero otherwise
if [ $? = 0 ]
    launchd unload keep.my.matlab.running
fi

[править]

Если бы Matlab производит вывод, как fideli предполагает, Вы могли бы использовать действие папки с папкой, в которую Matlab поместил бы свое сообщение об ошибке. Просто запишите рабочий процесс Applescript или Automator, который берет файлы, которые были добавлены, проверки, если они - ошибка Matlab и, если так, посылают Вам электронное письмо. Один из встроенных называют "новым предупреждением объекта" и является, вероятно, хорошей начальной точкой для некоторой генетической модификации.

0
ответ дан 12.12.2019, 13:04

Теги

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