2012-10-22 15 views
12

Kiedy otwieram iTerm, Dostaję komunikat:Uzyskiwanie dziwne zachowanie z terminalem i iTerm „-bash: Widelec: zasób chwilowo niedostępny”

Ostatnie logowanie: Pon 22 października o 12:20:25 ttys002
-bash: widelec: Zasoby chwilowo niedostępne
-bash-3,2 $

i kiedy otworzyć Terminal, dostaję:

Ostatnie logowanie: Pon 22 października 12:25:47 na ttys002
-bash: Widelec: Zasoby chwilowo niedostępne
Williams-MacBook-Pro: ~ William $

i gdy próbuję umieścić w komenda, jak ls lub CD i ten komunikat o błędzie:

-bash: widelec: Zasoby chwilowo brak

Więc w zasadzie nie może nic zrobić. Próbowałem googling komunikat o błędzie, ale nie nigdzie. Jestem na komputerze Mac z Mountain Lion, jeśli to pomaga. Dzięki.

EDIT:

wpadłem "ps"

aby uzyskać jego status procesu i mam to jako odpowiedź z terminala:

Williams-MacBook-Pro: ~ william $ ps
PID TTY CZAS CMD
203 ttys000 0: 00,08 -bash
254 ttys001 0: 00,03 bash /Users/william/.rvm/scripts/wrapper ruby-1.9.3-P2
553 ttys001 0: 00.03 bash /Users/william/.rvm/scripts/wrapper ruby-1.9.3-p2 785 ttys001 0: 00.03 bash /Users/william/.rvm/scripts/wrapper ruby-1.9.3 -P2
814 ttys001 0: 00,48 -bash
1019 ttys001 0: 00,03 atakujących /Users/william/.rvm/scripts/wrapper rubin-1.9.3-P2

i komunikat

bash /Users/william/.rvm/scripts/wrapper ruby-1.9.3-p2

umieszcza listę w terminalu kilkaset razy (nie można jej opublikować, ponieważ prawdopodobnie nie zmieściłaby się w tym polu, a to po prostu trwa tak samo), więc domyślam się, że jest coś podejrzanego z tym plik. Czy ktoś wie, jak to naprawić?

+0

Sugerujemy, żebyś spojrzał na ten skrypt ruby. Może powtórzyć post, jeśli nie możesz znaleźć problemu - prawdopodobnie sam się nazywa. – cdarke

+0

Zaktualizowaną rozdzielczość dla Yosemite i wyżej można znaleźć na stronie https://superuser.com/a/838630 – jcasner

Odpowiedz

6

bash - oraz wszystkie inne powłoki - użyj wywołania systemowego fork na systemach uniksowych, aby faktycznie utworzyć proces, który chcesz uruchomić z powłoki. W tym przypadku bash informuje, że wywołanie systemowe zakończyło się z Resource temporarily unavailable, co oznacza wartość errno o wartości 11, która jest równa EAGAIN.

Instrukcja aktualizacja fork mówi, że może ustawić errno do EAGAIN gdy:

  • To nie może przydzielić wystarczającej ilości pamięci do skopiowania tablic stron rodzica i przydzielić struktury zadania dla dziecka.
  • Utworzenie nowego procesu nie było możliwe, ponieważ napotkano limit zasobów dzwoniącego RLIMIT_NPROC. Aby przekroczyć ten limit, proces musi mieć zdolność CAP_SYS_ADMIN lub CAP_SYS_RESOURCE.

W tym przypadku myślę, że pierwszy powód nie brzmi naprawdę realistycznie, chyba że brakuje ci pamięci, więc domyślam się, że po prostu przekroczyłeś limit liczby uruchomionych procesów. użytkownik.

+0

Edytowałem oryginalny wpis, jeśli jest w czymkolwiek pomocny. –

+0

dzięki. Nauczyłem się czegoś dzisiaj! –

+0

Dzięki - pomocna odpowiedź! Może to być dobry link do rezolucji, na przykład https://superuser.com/a/838630 – jcasner

0

Aby rozwiązać na Yosemite i nowszych wersjach systemu Mac OS użyj https://superuser.com/a/838630. Udało mi się rozwiązać, aktualizując pliki plist i ponownie uruchamiając się - komendy ulimit były niepotrzebne.