Ext4 действительно указывает, что у них нет предела подкаталога. Они также говорят, что безопасно использовать для производства с Linux 2.6.28. Они также детализируют, как переместить ext3 файловую систему в ext4. Предел подкаталога должен быть снят для существующих файлов, так как это только для степеней, что файлы перед обновлением не будут обновлены.
Это - вкусная ошибка. Кажется, что существует все больше разработчиков Linux, думают, что это - хорошая идея проигнорировать стандартную обработку сигнала и сделать их приложение для не реакции на стандартные сигналы.
человек 7 сигналов
Standard Signals
Linux supports the standard signals listed below. Several signal numbers are architecture-dependent, as indicated in the "Value" col-
umn. (Where three values are given, the first one is usually valid for alpha and sparc, the middle one for ix86, ia64, ppc, s390, arm
and sh, and the last one for mips. A - denotes that a signal is absent on the corresponding architecture.)
First the signals described in the original POSIX.1-1990 standard.
Signal Value Action Comment
----------------------------------------------------------------------
SIGHUP 1 Term Hangup detected on controlling terminal
or death of controlling process
SIGINT 2 Term Interrupt from keyboard
SIGQUIT 3 Core Quit from keyboard
SIGILL 4 Core Illegal Instruction
SIGABRT 6 Core Abort signal from abort(3)
SIGFPE 8 Core Floating point exception
SIGKILL 9 Term Kill signal
SIGSEGV 11 Core Invalid memory reference
SIGPIPE 13 Term Broken pipe: write to pipe with no
readers
SIGALRM 14 Term Timer signal from alarm(2)
SIGTERM 15 Term Termination signal
SIGUSR1 30,10,16 Term User-defined signal 1
SIGUSR2 31,12,17 Term User-defined signal 2
SIGCHLD 20,17,18 Ign Child stopped or terminated
SIGCONT 19,18,25 Cont Continue if stopped
SIGSTOP 17,19,23 Stop Stop process
SIGTSTP 18,20,24 Stop Stop typed at tty
SIGTTIN 21,21,26 Stop tty input for background process
SIGTTOU 22,22,27 Stop tty output for background process
Это - дурная привычка.
Некоторое прерывание приложений SIGINT
из-за странных взаимодействий с другими библиотеками. Можно попытаться отправить им a SIGQUIT
вместо этого (через Ctrl\, как дано Вашим stty
вывод).
Некоторые приложения просто захватывают SIGINT
как Ignacio упомянул, другие получают весь ввод с клавиатуры.
Если C-c не работает, можно попробовать уже упомянутый C-\и если это не работает, то просто пробуют к фону процесс: C-z. и затем уничтожают его с kill -s SIGKILL <pid>
Определенно связанный с обработкой сигнала в команде Вы звоните. Посмотрите много открытых вкусных ошибок вокруг обработки:
Red Hat Bugzilla – Список ошибки
https://bugzilla.redhat.com/buglist.cgi? quicksearch=yum+Ctrl-C
Походит на Ctrl-C (SIGINT
) возможно, использовался для управления другим поведением (пропускающий к следующему зеркалу), а не обычное намерение (уничтожающий процесс).
Ре: почему SIGQUIT
кажется, не делает ничего полезного - не может быть определенного обработчика.
Это обычно происходит, когда приложение находится в состоянии, где оно на самом деле не может ответить на сигналы, потому что оно не может продолжить работать от очереди планировщика ЦП. Хороший пример - когда приложение подвешивается, ожидая операции блокирования (синхронный диск ввод-вывод в основном потоке, подкачке в/, блокирование сети I/O, и т.д.), Учитывая, что это - конфетка, я предполагаю, что это приводит к таймауту соединения с одним или несколькими источников, определенных в Ваших конфигурациях repository/mirrorlist, но это мог легко быть диск проблема ввода-вывода, получающая доступ к ее кэшам, база данных RPM (включая повреждение BDB), или любое количество других вещей.
Хороший способ протестировать поведение это с любым произвольным приложением: трудно - монтируют долю NFS, затем вытягивают сервер NFS офлайн, затем пытаются использовать любую программу, которая пытается открыться, тот каталог (найдите, или/bin/ls являются хорошими примерами). Это ни на что не ответит вне SIGKILL, в то время как это ожидает ядра для выяснения то, что произошло с долей.
На самом деле rpmlib, используемый конфеткой, захватывает и игнорирует обработчик сигналов ctrl-c. Существует, только так много может быть сделано об этом на уровне конфетки. Это является раздражающим, но я не уверен, что об этом стоит быть всем обработанным. Более новые и более новые версии Fedora успешно улучшили обработку этого, до такой степени, когда конфетка под Сыромятной плетью (который станет F15), делает это для Вашего тестового сценария:
$ time yum list >/dev/null
^CTraceback (most recent call last):
File "/usr/lib64/python2.7/site.py", line 553, in <module>
main()
File "/usr/lib64/python2.7/site.py", line 544, in main
execsitecustomize()
File "/usr/lib64/python2.7/site.py", line 500, in execsitecustomize
import sitecustomize
KeyboardInterrupt
real 0m0.164s
user 0m0.081s
sys 0m0.073s
Это все еще не позволит Вам прервать изменения в базе данных RPM с SIGINT, с которым трудно действительно обсудить.