Каждый раз, когда я открываю новый терминал, появляются эти сообщения:
-bash: ulimit: open files: cannot modify limit: Invalid argument
-bash: ulimit: max user processes: cannot modify limit: Operation not permitted
Раньше я модифицировал ulimit, но я забыл, что я сделал. Итак, как я могу это исправить, пожалуйста, помогите. СПАСИБО
---- Обновить ----
У меня нет .profile или .bashrc в моем домашнем каталоге. Но у меня есть ~/.bash_profile и /etc/bashrc. И ~/.bash_profile выглядит так
export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GF'
alias ll='ls -GFl'
export JAVA_HOME=$(/usr/libexec/java_home)
export LC_CTYPE="en_US.UTF-8"
/etc/bashrc выглядит так:
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
return
fi
PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
# Tell the terminal about the working directory at each prompt.
if [ "$TERM_PROGRAM" == "Apple_Terminal" ] && [ -z "$INSIDE_EMACS" ]; then
update_terminal_cwd() {
# Identify the directory using a "file:" scheme URL,
# including the host name to disambiguate local vs.
# remote connections. Percent-escape spaces.
local SEARCH=' '
local REPLACE='%20'
local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
printf '\e]7;%s\a' "$PWD_URL"
}
PROMPT_COMMAND="update_terminal_cwd; $PROMPT_COMMAND"
fi
Я не вижу ничего о ulimit.
---- Обновить ----
sudo ulimit -a -H
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) unlimited
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 65532
cpu time (seconds, -t) unlimited
max user processes (-u) 1064
virtual memory (kbytes, -v) unlimited
sudo ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 4864
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited
~/.profile
,~/.bash_profile
,~/.bashrc
и найдите, где вы пытаетесь вызватьulimit
. Возможно, вам придется заглянуть под/etc
, но, вероятно, этого не произойдет, если вы не поиграете с профилями и т. Д. Там. - person Jonathan Leffler   schedule 11.03.2015set -x
вверху~/.bash_profile
иset +x
внизу. Создайте новое окно терминала. Вы должны увидеть след команд, выполненных вашим~/.bash_profile
. Место, где генерируются сообщения об ошибках. Если он появляется до или после кода трассировки (вы, вероятно, хотите вывести что-то вродеecho "Trace off"
послеset +x
), то вы знаете, что~/.bash_profile
не создает проблему; это другой файл. Возможно, вам придется прочитать руководство Bash, чтобы узнать, какие другие файлы это читается. Отлаживайте один файл за раз. - person Jonathan Leffler   schedule 11.03.2015ulimit -a -H
иulimit -a
? Добавьте результаты к информации в вашем вопросе. - person Jonathan Leffler   schedule 11.03.2015ulimit -n -H
) — «неограниченные», а мягкие ограничения (ulimit -n
) — «4864»; нет очевидной причины, по которой лимит нужно увеличивать. Аналогично с максимальными процессами (жесткий: 1064; мягкий: 709). Появились ли сообщения, когда вы использовали отладкуset -x
иset +x
? Они появились до запуска/etc/bashrc
, или после него, или во время него? Они появились до, после или во время запуска~/.bash_profile
? Если они появились «во время», то у вас должна быть информация о том, какая команда выполнялась (или какой файл). - person Jonathan Leffler   schedule 11.03.2015export JAVA_HOME=$(/usr/libexec/java_home)
; может ли эта программа генерировать это сообщение? Это маловероятно, но вы еще не определили, откуда пришло сообщение, и пока мы не узнаем, откуда оно пришло, исправить его будет сложно. Я не видел проблемы, когда я работаю на Mac. Это не значит, что это не реально. Это просто означает, что это не всегда проблема. - person Jonathan Leffler   schedule 11.03.2015