LINUX.ORG.RU

Прошу подтвердить баг с демоном kded4

 ,


0

2

Гента, кеды 4.12.5 (стабильная ветка). Кому не сложно, выполните

pidof kded4
Выводится PID? Потому что у меня нет, хотя процесс в памяти висит (выдается по ps -A) и запущен, видимо, через kdeinit4. Попытка выполнить
kdeinit4 kded4
сообщает, что

KDE Daemon (kded) already running.

Мне это нужно, чтобы переназначить нажатие кнопки питания на переход в режим ожидания. Однако, /etc/acpi/actions/powerbtn.sh содержит

test -r /proc/$(pidof kded4)/environ
что не выполняется, и он игнорирует настройки powerdevil.

★★★★★
akamanah@akamanah-PC:~$ pidof kded4
2781
Akamanah ★★★★★
()

Не подтверждается. Так же стабильная гента.

┌┤~├───────────────────────────────────────────────────────────────────────────────────────────────────────────────┤cppmm@damned├─
└─> ps waux | grep kde
root        15  0.0  0.0      0     0 ?        S    май21   0:00 [kdevtmpfs]
cppmm     1802  0.0  0.0  14384  1352 ?        Ss   май21   0:00 /bin/sh /usr/bin/startkde
cppmm     1867  0.0  0.6 317124 28052 ?        Ss   май21   0:00 kdeinit4: kdeinit4 Running...     
cppmm     1868  0.0  0.4 321944 18352 ?        S    май21   0:00 kdeinit4: klauncher [kdeinit] --fd=8
cppmm     1870  0.0  1.0 842228 40580 ?        Sl   май21   0:01 kdeinit4: kded4 [kdeinit]         
cppmm     1879  0.0  0.5 378212 22280 ?        S    май21   0:00 kdeinit4: kglobalaccel [kdeinit]  
cppmm     1951  0.0  0.5 471336 23960 ?        Sl   май21   0:00 kdeinit4: ksmserver [kdeinit]     
cppmm     1997  0.4  3.7 3310248 150596 ?      Sl   май21  15:20 kdeinit4: plasma-desktop [kdeinit]
cppmm     2018  0.0  0.8 611948 35504 ?        Sl   май21   0:01 kdeinit4: krunner [kdeinit]       
cppmm     2021  0.0  0.8 552412 33948 ?        Sl   май21   0:01 kdeinit4: kmix [kdeinit] -session 10c9c56d6e000129607063600000037870010_1400600004_830941
cppmm     2049  0.0  0.3 333148 14680 ?        Sl   май21   0:00 /usr/lib64/kde4/libexec/polkit-kde-authentication-agent-1
cppmm     2050  0.0  0.5 386416 23120 ?        S    май21   0:00 kdeinit4: klipper [kdeinit]       
cppmm    12720  0.2  0.9 499716 37784 ?        Sl   09:01   0:02 kdeinit4: konsole [kdeinit]       
cppmm    12871  0.0  0.0  11752   976 pts/1    S+   09:14   0:00 grep --colour=auto kde
┌┤~├───────────────────────────────────────────────────────────────────────────────────────────────────────────────┤cppmm@damned├─
└─> pidof kded4
1870

shell-script ★★★★★
()

Всем отписавшимся спасибо.

Кастую Pinkbyte, поскольку это важно - в стабильную ветку попали обновления, ломающие pidof. До этого pidof находилась в пакете sys-apps/sysvinit, а теперь ее перенесли в sys-process/procps.

Итак, сломана команда в такой конфигурации:

=sys-process/procps-3.3.9
=sys-apps/sysvinit-2.88-r7
=sys-apps/util-linux-2.24.1-r2
Работает в такой:
=sys-process/procps-3.3.8-r2
=sys-apps/sysvinit-2.88-r4
=sys-apps/util-linux-2.22.2
Надо оформить баг, но я сильно устал, надо бы и поспать.

P.S. Обидно, что shit happens уже в основной ветке, что стоило мне бессонной ночи.

iVS ★★★★★
() автор топика
Последнее исправление: iVS (всего исправлений: 1)
Ответ на: комментарий от Kroz

В strace имеем:

stat("/proc/17873", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
open("/proc/17873/stat", O_RDONLY)      = 4
read(4, "17873 (kded4) S 1 17870 17870 0 "..., 1024) = 336
close(4)                                = 0
open("/proc/17873/cmdline", O_RDONLY)   = 4
read(4, "kdeinit4: kded4 [kdeinit]\0\0\0\0\0\0\0"..., 2047) = 35
close(4)                                = 0
readlink("/proc/17873/exe", "/usr/bin/kdeinit4", 1023) = 17
$ pidof --version
pidof from procps-ng 3.3.9
AEP ★★★★★
()
Ответ на: комментарий от AEP

у меня в арче тоже не отображает. pidof from procps-ng 3.3.9

hope13 ★★★
()
pinkbyte@oas1 ~ $ pidof kded4
6958

Gentoo amd64, stable. Обновился до последних версий - уже не работает.

С другой стороны:

oas1 ~ # ps aux | grep kded
pinkbyte  6958  0.0  1.1 1010648 46992 ?       Sl   10:01   0:02 kdeinit4: kded4 [kdeinit]

Может это не баг, а фича? Зарепорти на bugs.gentoo.org, пусть чуваки из base-system покурят

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от iVS

Дело в том, как pidof стал парсить имя процесса(выхлоп strace выше на это явно намекает). Возможно это не баг, но лучше получить подтверждение от знающих людей.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Спасибо. Рад всем отозвавшимся :)

iVS ★★★★★
() автор топика
Ответ на: комментарий от Pinkbyte

Я бы добавил, что ACPI использует эту фичу для переназначения кнопки питания — «мелочь», а не приятно :)

iVS ★★★★★
() автор топика
26 сентября 2014 г.
Ответ на: комментарий от Pinkbyte

Вот скажи, пожалуйста: есть открытый баг, из-за которого в кедах не работает суспенд. Так какого х*** выкидывать на мороз <sys-apps/util-linux-2.24? На баг забили, нужный пакет выбросили. Нафига вообще о чем-то писать на багзиллу при таком отношении?

iVS ★★★★★
() автор топика
Последнее исправление: iVS (всего исправлений: 1)
Ответ на: комментарий от iVS

Так какого х*** выкидывать на мороз <sys-apps/util-linux-2.24? На баг забили, нужный пакет выбросили. Нафига вообще о чем-то писать на багзиллу при таком отношении?

Со старыми версиями есть свои проблемы. А баг надо фиксить, спору нет. Просто видимо никто не знает как :-(

Pinkbyte ★★★★★
()
17 января 2015 г.
Ответ на: комментарий от Pinkbyte

Глянул код procps — всё очень грустно. Разработчик не осилил парсинг /proc/<id>/stat и попросту сравнивает с /proc/<id>/cmdline. При этом заявляет, что код переписан с sysvinit. Так-то оно так, но переписан через одно место (в sysvinit парсят stat файл). При этом man proc говорит:

/proc/[pid]/stat
    Информация о состоянии процесса. Она используется командой ps(1). Определяется в /usr/src/linux/fs/proc/array.c.

    Вот поля с соответствующими им спецификаторами формата scanf(3) по порядку:

    pid %d      (1) Идентификатор процесса.

    comm %s     (2)  Имя  исполняемого  файла  в  круглых  скобках.  Его  можно увидеть независимо от того, находится ли исполняемый файл в подкачке или нет.
Если уж ps использует, то надо было делать правильно.

iVS ★★★★★
() автор топика
Последнее исправление: iVS (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.