Назад | Перейти на главную страницу

Мой долго работающий скрипт в tmux засыпает, когда я отключаюсь от сервера - почему?

Я выполняю долго работающий скрипт генерации XML на сервере CentOS 6.3 и использую tmux (версия 1.6), чтобы скрипт продолжал работать, когда я отключаюсь от сервера. Моя проблема в том, что когда я отключаюсь от сервера, скрипт, кажется, засыпает, пока я отключен.

Если я подключен к серверу, все работает нормально. Например. Я могу войти на сервер (но не присоединиться к сеансу tmux) и многократно выполнять find $XML_DIR -type f | wc -l показывает, что количество сгенерированных файлов xml неуклонно растет.

Если я отключаюсь от сервера, хотя мой сеанс tmux и сценарий, похоже, переходят в спящий режим. Когда я снова подключаюсь к серверу, find приведенная выше команда не показывает больше (или очень немного больше) xml-файлов, и когда я проверяю даты модификации файлов, я получаю что-то вроде следующего, которое, похоже, подтверждает, что сеанс tmux переходит в спящий режим:

[cfogelberg@server XML]$ date ; find . -type f | xargs stat --format '%Y :%y %n' | sort -nr | cut -d: -f2- | head
Thu Apr 24 10:00:04 BST 2014
2014-04-24 10:00:02.418784534 +0100 ./output/b/8/0/result-156f76a87a57649491214cc316023149.xml
2014-04-24 10:00:02.407784493 +0100 ./output/d/0/b/result-79a777f50e8c52e998b8118bf81fced9.xml
2014-04-24 07:43:39.645877018 +0100 ./output/1/2/2/result-a15fce419c688ce9f8f065cd2ac64ec7.xml
2014-04-24 07:43:28.438782553 +0100 ./output/6/e/0/result-12324f5a79ee40012a9db8285daadd6c.xml
2014-04-24 07:43:26.019751959 +0100 ./output/0/3/8/result-17fc03ad109acb812d18dd5f8f1be125.xml
2014-04-24 07:43:16.812830188 +0100 ./output/3/0/e/result-0192e3ad1742d9b92d6ed8bfe6ff1540.xml
2014-04-24 07:43:16.808791163 +0100 ./output/5/1/d/result-0cf22ceb3d9fff3888c389769c873d01.xml
2014-04-24 07:43:01.737767522 +0100 ./output/9/d/f/result-13b591ff833c209fef2be28c1aa62789.xml
2014-04-24 07:42:45.573845799 +0100 ./output/7/a/4/result-641c8a84dc935330d36c4e04aa1c59f2.xml
2014-04-24 07:42:45.568845835 +0100 ./output/a/d/2/result-22f8f317db0b9508f8717c969292a510.xml

Разрыв в приведенном выше примере соответствует тому моменту, когда я не подключен к серверу (в этом случае я бы отключился немного раньше 0742 по времени сервера). Что я могу сделать, чтобы мой сценарий tmux не переходил в спящий режим? Я был бы очень рад, если бы это могло работать нормально 24/7, чтобы оно могло закончиться раньше!

Просматривая /var/log/messages на сервере показала целую кучу ошибок MCE - я считаю, что это была основная причина и что это просто случайность, когда он не переходил в режим сна, пока я был подключен (или, может быть, он использовал физически другую часть памяти? не знаю достаточно об архитектуре или архитектуре в целом, чтобы действительно сказать).

mcelog не генерировал никаких выходных данных, и поскольку у меня не было консоли или физического доступа к серверу, я не мог запустить memtest или найти способ отладить это дальше, поэтому я оставил его нерешенным и переместил свой скрипт на другой сервер.