Я управляю rsync
команда с nohup
в сеансе ssh, но через некоторое время он возвращает эту ошибку:
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549) [generator=3.0.9]
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549) [receiver=3.0.9]
Я не убивал этот процесс сам, я думаю, что нет другого процесса, который убивает этот процесс. Также я запускаю его на переднем плане с помощью nohup
. я использую nohup
поскольку по какой-либо причине сеанс ssh прерван, rsync
процесс не завершается.
Что вызывает прекращение?
Операционная система - Debian Wheezy.
Это старый вопрос с ограниченной информацией, но я думаю, что то, что происходит, не является проблемой rsync (поскольку rsync сам по себе не sigkill).
Я столкнулся с аналогичной проблемой, которая оказалась проблемой памяти. Управление нехваткой памяти в ядре определяет, какой процесс уничтожить, глядя на количество используемой виртуальной памяти, разделенное на общее время работы.
Rsync может потреблять много памяти в зависимости от размера и количества передаваемых файлов, и у него будет низкое значение времени выполнения. Это увеличивает его оценку, когда ядро вызывает select_bad_process ().
После запуска rsync проверьте использование памяти с помощью простого скрипта, который регистрирует использование памяти rsync:
while [ 1 ]; do
pidstat -r -G rsync >> stat.log
free >> stat.log
done
Также проверьте dmesg в то время, когда rsync умирает, если есть ошибки OOM, вы их увидите.