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

nohup.out больше не добавляется

У меня есть экземпляр Ubuntu Linux ec2, работающий на AWS. Я использовал следующую команду

nohup php script.php

так что когда я отключаюсь от экземпляра с SSH, он все еще работает. Скрипт содержит огромный цикл, на выполнение которого уйдет около 4 дней.

for($i=0;$i<1000000;$i++) {
    // It does other stuff that's kind of irrelevant

    echo $i.'\n';
}

Я проверял nohup.out файл с vim editor чтобы видеть, добавляется ли он по-прежнему каждые пару часов. Вроде перестали добавляться. Но, войдя ps -ef в терминале показывает, что скрипт все еще работает.

Любые идеи?

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

Если у экземпляра EC2 есть копия strace программа, вы можете использовать ее, чтобы понять, что делает программа:

strace -p pid-of-process

перечислит все системные вызовы, выполняемые процессом. Если программа в основном выполняет файловый ввод-вывод, то:

strace -e trace=file -p pid-of-process

перечислит только выполняемые операции с файловой системой. Это может быть легче интерпретировать. В любом случае, это даст вам некоторое представление о том, что делает программа.