Как сделать любой файл и поместить содержание в тот сценарий использования

Этот точно тот же самый вопрос задали на serverfault просто на днях :-)

Система виртуальной памяти Linux не вполне так проста. Вы не можете только сложить все поля RSS и сообщать о значении used free. Существует много причин этого, но я поражу несколько самых больших.

  • Когда процесс ветвления, и родитель и ребенок покажет с тем же RSS. Однако Linux использует copy-on-write так, чтобы оба процесса действительно использовали ту же память. Только то, когда один из процессов изменяет память, будет он на самом деле быть дублированным. Таким образом, это вызовет free число, чтобы быть меньшим, чем top Сумма RSS.

  • Значение RSS не включает общую память. Поскольку общая память не принадлежит никакому процессу, top не включает его в RSS. Таким образом, это вызовет free число, чтобы быть больше, чем top Сумма RSS.

0
04.04.2013, 02:02
2 ответа

Другой способ сделать это должно использовать здесь документы:

#!/bin/sh

cat > /etc/pam.d/XXX << 'EOF'
Place whatever
should go in
the file here
EOF

chown root:root /etc/pam.d/XXX  # Or whatever floats your boat
chmod u=r,go= /etc/pam.d/XXX    # Ditto
2
28.01.2020, 02:21

Если бы у Вас уже есть содержание, было бы лучше поместить это в отдельный файл и просто cp или install файл к \etc\pam.d\XXX. Тем путем Вы избегаете любых проблем, связанных с выходом из данных в рамках сценариев оболочки. Например, для создания файла, только читаемого корнем:

install --owner=root --group=root --mode='u=r' my_file /etc/pam.d/XXX

Обратите внимание, что в системах Unix и Linux, пути всегда разделяются наклонными чертами (/), не обратные косые черты.

2
28.01.2020, 02:21

Теги

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