Могу ли я возобновить make после Ctrl + C?

Я устанавливаю gcc версии 5.1 на суперкомпьютерный кластер. Я настроил его, и теперь я запускаю команду make. Прошло несколько часов и все еще работает, поскольку это длинная установка, но рабочий день уже закончился, и мне нужно уйти. Если я использую Ctrl + C, чтобы выйти из make, если я снова запустил make завтра утром, он возобновится там, где он остановился? Или придется начинать заново? Это вызовет проблемы или ошибки, если я прерываю make?

One Solution collect form web for “Могу ли я возобновить make после Ctrl + C?”

Когда вы нажимаете Ctrl + C , процесс (технически, группа процессов), который запущен на вашем терминале, убит. Вы не можете воскресить его. Все, что вы можете сделать, это запустить его снова.

Запуск make включает в себя множество шагов, каждый из которых компилирует один файл или связывает некоторые файлы или запускает один тест и т. Д. Когда вы нажимаете Ctrl + C , текущий шаг отменяется, но данные со всех предыдущих шагов все еще существуют , Утилита make предназначена для быстрого выяснения того, какие шаги уже были выполнены и не нужно выполнять снова. Так что, если вы просто запустите make снова, он проанализирует ситуацию на короткое время (может быть, несколько секунд для крупных проектов) и возобновит там, где это было остановлено.

Если устройство не перезагружается в течение ночи, вы можете удерживать на нем команды, даже если вы выходите на ночь. Запустите терминальный мультиплексор, такой как экран или tmux . Например, с терминала, запустите

 screen 

Это откроет новую оболочку в вашем терминале. Здесь перейдите в соответствующий каталог и введите make . Затем откройте сеанс экрана, нажав Ctrl + A d . Вы вернулись к исходному приглашению оболочки, но команда внутри экрана все еще работает. Вы можете выйти из системы, войти в систему и снова подключиться к сеансу сеанса по-прежнему, запустив

 screen -rd 
Linux и Unix - лучшая ОС в мире.