Мне часто приходится запускать диспетчер обновлений при медленном соединении, и пока я читаю свои электронные письма, я хотел бы провести в Интернете 2 минуты, а затем снова получить полную пропускную способность для менеджера обновлений.
Из командной строки я могу приостановить запущенный процесс с помощью Ctrl kbd> + Z kbd>, иначе приостановить. Но если я не запустил программу из оболочки - могу ли я сделать это с некоторым сигналом и командой kill
?
Я прочитал справочную страницу для signal
(man -a signal
), но там я не нашел SIGSUSPEND, только SIGSTOP, SIGTERM, SIGINT и тому подобное - что подходит, или его нет?
Для общего случая можно остановиться (приостановите процесс или обработайте группу как ниже):
Управление-Z
kill pidnumber -SIGSTOP
продолжаться:
kill pidnumber -SIGCONT
С другой стороны, временно отстранить всю группу процесса:
kill -groupnumber -SIGSTOP
и
kill -groupnumber -SIGCONT
Конечно, при приостановке процесса с некоторым элементом, который синхронизирован, он не может продолжиться правильно. В упомянутом варианте использования сервер репозитория синхронизирует подтверждения передачи данных, он может тайм-аут передача, потому что Ваш клиент 'ушел' или замедляет его, потому что существует 'перегрузка сети'.
Я, конечно, не временно отстранил бы менеджера обновления, в то время как это обновляло мои пакеты, также.