Как использовать мишень для получения STDOUT от блока кода до имени файла, определенного в блоке?

Основные отличия - точно это, эстетика. LMDE также включает некоторые хорошие Разработанные монетным двором программы для создания администрирования и резервных копий и т.д. легче.

Что касается обновлений, Вам решать. LMDE работает с "Пакетами обновления", которые выпущены регулярно и обновляют много пакетов. Это, как Debian, прокручивающееся распределение (они называют себя "полупрокручивающийся" из-за пакетов обновления) без реальных версий. Однако это абсолютно совместимо с репозиториями Debian и является, во всех отношениях, Debian, таким образом, можно просто указать на него на experimental repo для получения новейшим.

По умолчанию LMDE основан на Тестировании Debian и является по существу Debian, Тестирующим + Классные Инструменты Монетного двора. Путем это обновляется, зависит от того, как Вы настраиваете его. Если Вы хотите отпуск устойчивости это в состоянии по умолчанию, которое укажет на репозитории Тестирования и собственный "Последний" repo Монетного двора. Для получения последних обновлений как, они входят, указывают на Ваш sources.list к экспериментальному Debian или LMDE "поступление".

3
11.01.2015, 23:50
2 ответа
 #!/bin/bash
 log="mylog.txt"
 {
     echo log: $log
 } |tee $log

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

3
27.01.2020, 21:19

В сценарии автоматической модернизации в /etc/cron.daily/apt используются интервалы обновления, выраженные в днях, поэтому установить более частое значение, чем один день, невозможно.

Можно использовать стандартный cron - поместите его в /etc/cron.d :

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
0 0-23/4 * * * root   apt-get -q update && apt-get dist-upgrade -yq -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"

Настройте команду в соответствии с вашими потребностями.

-121--60641-

CPU

Процесс может снизить свой приоритет CPU (но не уменьшить его, man 2 setpriority ). Кроме того, он может усыпить себя в течение определенного времени. Но он не может решить, как экономить время ЦП другим процессам.

Ситуацию с потоками см. в комментарии psusi.

память Новый процесс получает начальный объем ОЗУ (однако не знаю, является ли это значением ядра по умолчанию или заданным в данных заголовка двоичного файла). Если требуется больше оперативной памяти, процесс запрашивает у ядра дополнительную информацию (см. man 2 mmap ).

Как и во время ЦП, процесс не может решить, какой процесс получит больше памяти, если освободит часть.

Выход из процесса

Если процесс завершает работу (либо по собственному решению, либо в результате прерывания), то ядро автоматически освобождает свои ресурсы. Процесс может освободить «все» его ОЗУ перед выходом, но нет причин для этого. Вместо этого используются вызовы _ exit или exit _ group .

-121--210006-

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

pipe=/tmp/$$pipe log=mylog.txt
mkfifo "$pipe"; exec 3<>"$pipe"
{ rm "$pipe"; tee "$log"; } <&3 >/dev/tty &
pipe=$!; exec >&3 3>&-

Там. С этого момента все выходные данные сценария записываются в (используемый) именованный канал, который считывается задним процессом tee . Специальный файл именованного канала уже удален из файловой системы, поэтому его не требуется очищать позже, и единственными оставшимися ссылками на него являются дескрипторы файлов, назначенные сценарию stdout и tee stdin .

При этом было бы целесообразно установить хотя бы одну ловушку :

trap "kill PIPE $pipe" 0

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

Если вы столкнетесь с проблемами буферизации - что не должно быть проблемой, я думаю, поскольку tee имеет открытую строку на /dev/tty - вы можете попытать счастья, позвонив tee через stdbuf . stdbuf "s man page специально хеджирует свои ставки, где tee обеспокоен, хотя - он отмечает tee как приложение, которое, вероятно, будет корректировать свои собственные буферы после вызова - но более позитивно относится к взаимодействию, чем для dd в любом случае.

1
27.01.2020, 21:19

Теги

Похожие вопросы