2015-03-11 4 views
0

Каждый раз, когда я открываю новый терминал, эти сообщения появляются:Как я могу избавиться от «-bash: все ограничения: открытые файлы», когда я открываю терминал на моем макинтоше

-bash: ulimit: open files: cannot modify limit: Invalid argument 
-bash: ulimit: max user processes: cannot modify limit: Operation not permitted 

я изменить ULIMIT перед тем , но я забыл, что сделал. Итак, как я могу это исправить, пожалуйста, помогите. THX

---- обновление ----

Я не хава .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" 

/и т.д./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 

Я не вижу ничего abount все ограничения.

---- обновление ----

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 
+1

Посмотрите в свои файлы профилей: '~/.profile',' ~/.bash_profile', '~/.bashrc' и найдите, где вы пытаетесь вызвать' ulimit'. Возможно, вам придется посмотреть под '/ etc', но, вероятно, не будет, если вы не потрудились с профилями и т. Д., Там. –

+0

Добавьте 'set -x' в начало' ~/.bash_profile' и 'set + x' до конца. Создайте новое окно терминала. Вы должны увидеть след команд, выполняемых вашим '~/.bash_profile'. Укажите, где генерируются сообщения об ошибках. Если это произойдет до или после кода трассировки (вы, вероятно, захотите отбросить что-то вроде «echo» Trace off «' после 'set + x'), то вы знаете, что' ~/.bash_profile' не создает проблему; это еще один файл. Возможно, вам придется прочитать руководство [Bash] (http://www.gnu.org/software/bash/manual/bash.html), чтобы узнать, какие другие файлы он читает. Отлаживайте один файл за раз. –

+0

@JonathanLeffler ни/etc/bashrc или ~/.bash_profile :( – Alexis

ответ

1

Наконец я решил эту проблему. Я обнаружил, что есть 3 файла профиля, которые OS X будет загружать при открытии нового терминала, это «/ etc/bashrc», «/ etc/profile», «~/.bash_profile». Я нашел 2 строки о настройке ulimit в нижней части «/ etc/profile». Я удаляю эти 2 строки и решу эту проблему.

В любом случае, благодаря @Jonathan Leffler, вы напоминаете мне, что другой профиль вызывает эту проблему. THX XD