LINUX.ORG.RU

Mpd и pulseaudio остаются запущенными при завершении сессии

 


0

2

Awesome, запускаю mpd от пользователя с помощью команды mpd (попробовал также с mpd --no-daemon). После того, как выйду из пользовательской графической сессии, в процессах от пользователя остаются висеть mpd и pulseaudio. Как сделать так, чтобы при выходе из сессии пользователя mpd тоже гас следом?

★★

Последнее исправление: Norong (всего исправлений: 1)

Ты можешь запускать mpd из rc.lua, тогда он должен (в теории) остаться дочерним процессом, и сдохнуть вместе с awesome. pulseaudio, если он явввляется выходом mpd, должен сдохнуть сам через тридцать секунд после завершения сессии и требующего его процесса.

В качестве альтернативы (если не сработает описанное выше) могу предложить следующее:

awesome.connect_signal("exit", function()
	awful.util.spawn_with_shell("killall -9 mpd")
end)
Если pulseaudio откажется подыхать, как описано в первом абзаце — добавь его убиение в коллбэк.

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

mpd у меня запускается через spawn_with_shell. Вот в этот самый момент мне почему-то пришла в голову мысль, что мб именно из-за этого он не дохнет. Или мне кажется?

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

Можно наугад exec вначале добавить, а вообще лучше посмотреть дерево процессов на предмет кто чьим родителем является.

xaizek ★★★★★
()
Ответ на: комментарий от Norong

нет, тебе кажется, потому что у меня в kde то же самое.

anonymous
()
Ответ на: комментарий от r3lgar

kill -9 это последнее, что стоит использовать, так как оно не оставляет программе шансов удалить временные файлы, сбросить буферы из userspace, снести lock-файлы, нормально завершить соединения и т.д. mpd при этом скорее всего потеряет своё состояние (плейлист, позиция проигрывания и подобное).

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

Если запускать из терминала - то mpd - дитё shell в терминале.

Если через Awesome (awful.util.spawn[_with_shell]) - то ничей и отвечает перед init, вне зависимости от того, с --no-daemon или без.

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

Похоже, что есть промежуточный процесс, который умирает и mpd переназначается на init, я поэтому exec и предлагал, но вряд ли это вина оболочки, может особенность запуска из lua.

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

Только что kill -9 mpd, плейлист и прочее живы, но lock действительно остался.

r3lgar ★★★★★
()
Ответ на: комментарий от Norong

Если у тебя иксы стартуют из xinitrc, то можешь поселить mpd туда.

А вообще, mpd на то и daemon, чтобы пускаться инитом.

r3lgar ★★★★★
()

извиняюсь что не по теме, но всё же. Я сам несколько лет пользовался mpd сервером для прослушивания музыки. Причиной было долгая обработка файлов в обычных музыкальных проигрывателях, это когда я сразу перешёл на линукс и музыка была на ntfs. Но пожже я перешёл на ext3 файловую система и там файлы открывались гораздо быстрей, но я не сразу понял. Только спустя еще пару лет я случайно обнаружил, что нет причин использовать дальше mpd сервер и отдельный клиент, если я случшаю музыка на 1 пк. На кде остановился на Amarok. Работает, слушать музыку можно, удобно, поиск есть, плагины, радио и тд

vebmaster
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.