Значения limits.conf применяются на основе для каждого процесса?

Может случиться так что Ваша версия tar требует что --exclude опции должны быть помещены в начале tar команда.

См.: https://stackoverflow.com/q/984204

tar --exclude='./folder' --exclude='./upload/folder2' \
    -zcvf /backup/filename.tgz .

См.: http://mandrivausers.org/index.php?/topic/8585-multiple-exclude-in-tar/

tar --exclude= --exclude= -cjf backupfile.bz2 /home/*

Альтернатива:

EXCLD='first second third'
tar -X <(for i in ${EXCLD}; do echo $i; done) -cjf backupfile.bz2 /home/*

Еще один tar подсказка по команде отсюда:

tar cvfz myproject.tgz --exclude='path/dir_to_exclude1' \
                       --exclude='path/dir_to_exclude2' myproject

25
07.08.2013, 02:11
1 ответ

Большинство значений ¹ в limits.conf пределы, которые могут быть установлены с ulimit окружите команду или setrlimit системный вызов. Они - свойства процесса. Пределы применяются независимо для каждого процесса. В частности, каждый процесс может иметь до nofile открытые файлы. Нет никакого предела количеству открытых файлов, накопленных процессами пользователя.

nproc предел является чем-то вроде особого случая, в котором он действительно суммирует по всем процессам пользователя. Тем не менее, это все еще применяется для каждого процесса: когда процесс звонит fork для создания нового процесса вызов отклонен, если бы количество процессов, принадлежащих euid процесса, было бы больше, чем процесс RLIMIT_NPROC значение.

limits.conf страница справочника объясняет, что пределы относятся к сессии. Это означает, что все процессы на сессии будут все иметь эти те же пределы (если не изменено одним из этих процессов). Это не означает, что любая сумма сделана по процессам на сессии (это даже не что-то, что отслеживает операционная система — существует понятие сессии, но это с более прекрасными зернами, чем это, например, каждое приложение X11 имеет тенденцию заканчиваться в своей собственной сессии). Путем это работает, то, что процесс входа в систему принимается некоторые пределы, и они наследованы всеми дочерними процессами.

¹ исключения maxlogins, maxsyslogins и chroot, которые применяются как часть процесса входа в систему, чтобы отклонить или влиять на вход в систему.

23
27.01.2020, 19:40
  • 1
    С другой стороны это означает, что различные сессии могут иметь различные наборы пределов? –  CMCDragonkai 16.08.2015, 10:21
  • 2
    @CMCDragonkai Да, например, если limit.conf измененный между временами заседания были открыты, или если различные пределы (они должны будут быть меньшими за исключением корня), установлены в .profile. –  Gilles 'SO- stop being evil' 16.08.2015, 11:39

Теги

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