Ubuntu 13.04 почти новая установка: "ps aux" застревает на анакроне

Я только что закончил установку Ubuntu 13.04 на новый ПК и заметил, что выполнение ps aux в терминале приводит к зависанию на полпути при отображении списка процессов:

$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  27076  2872 ?        Ss   15:20   0:00 /sbin/init
root         2  0.0  0.0      0     0 ?        S    15:20   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    15:20   0:00 [ksoftirqd/0]
[...trimmed...]
root      1207  0.0  0.0  20972   996 tty6     Ss+  15:20   0:00 /sbin/getty -8 38400 tty6
root      1219  0.0  0.0  70428  2812 ?        Ss   15:20   0:00 /usr/sbin/cups-browsed

... и останавливается там, не возвращаясь в командную строку. Нажатие Ctrl-C, чтобы попытаться отменить листинг, не завершает ps, а просто отображает ^C в терминале.

Любопытно, что я запустил strace, и обнаружил, что ps блокирует вызов read() при попытке извлечь командную строку для процесса anacron:

[...trimmed...]
write(1, "root      1207  0.0  0.0  20972 "..., 91root      1207  0.0  0.0  20972   996 tty6     Ss+  15:20   0:00 /sbin/getty -8 38400 tty6
) = 91
stat("/proc/1219", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
open("/proc/1219/stat", O_RDONLY)       = 6
read(6, "1219 (cups-browsed) S 1 1219 121"..., 1023) = 193
close(6)                                = 0
open("/proc/1219/status", O_RDONLY)     = 6
read(6, "Name:\tcups-browsed\nState:\tS (sle"..., 1023) = 777
close(6)                                = 0
open("/proc/1219/cmdline", O_RDONLY)    = 6
read(6, "/usr/sbin/cups-browsed\0", 131072) = 23
read(6, "", 131049)                     = 0
close(6)                                = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=331, ...}) = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=331, ...}) = 0
write(1, "root      1219  0.0  0.0  70428 "..., 88root      1219  0.0  0.0  70428  2812 ?        Ss   15:20   0:00 /usr/sbin/cups-browsed
) = 88
stat("/proc/1239", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
open("/proc/1239/stat", O_RDONLY)       = 6
read(6, "1239 (anacron) D 1 1239 1239 0 -"..., 1023) = 189
close(6)                                = 0
open("/proc/1239/status", O_RDONLY)     = 6
read(6, "Name:\tanacron\nState:\tD (disk sle"..., 1023) = 772
close(6)                                = 0
open("/proc/1239/cmdline", O_RDONLY)    = 6
read(6, 

Кстати, попытка сделать это также приводит к зависанию:

$ cat /proc/1239/cmdline 

Я нашел несколько других постов от других, которые видели это конкретное явление, но, похоже, еще никто не нашел решения.

https://unix.stackexchange.com/questions/10980/suggestions-needed-to-debug-why-ps-ef-gets-stuck https://serverfault.com/questions/257764/suggestions-needed-to-debug-why-ps-ef-gets-stuck

Это почти новая версия Ubuntu 13.04. Я только что скачал.iso со страницы загрузок Ubuntu прошлой ночью, установил его через USB и установил все последние обновления. После установки я добавил пару других приложений (nvidia-current, VirtualBox, Audacity, Audacious, Google Chrome и VLC), но до сих пор не замечал этой проблемы с ps.

Аппаратные характеристики: Intel i7-3930K @ 3,20 ГГц, 16 ГБ ОЗУ, Nvidia GeForce GTX 680 (драйверы 304.88).

Кто-нибудь еще сталкивался с этой проблемой раньше? Есть ли обходной путь или исправление ядра?

1 ответ

Вы используете Kerberos? У меня была такая же проблема, когда я сделал это изменение в /etc/krb5.conf...

[libdefaults]
 default_realm = MYREALM
 dns_lookup_realm = true

... до...

[libdefaults]
 default_realm = MYREALM
 dns_lookup_realm = false

У меня были проблемы с зависанием Firefox, и я подумал, что это может быть решением. Перезагрузка не устранила проблему "ps зависания", но отмена этого изменения и перезагрузка сделали.

Другие вопросы по тегам