LinuxForum.Fans
Тема

Приостановленные задачи

Автор: ERT 14 сообщений 8112 просмотров
#168587

Здравствуйте!
Очень интересует вопрос о приостановленных задачах. Иногда, при попытке разлогиниться, система выдает сообщение о приостановленных задачах, но при повторном logout - все же разлогинивает.
В инете пытался найти решение этого вопроса, но ничего конкретного нет (только описание, а возможно не понял). Как с этим бороться? Как эти самые приостановленные задачи убить? Спасибо заранее.

#168623

это браузеры, проигрыватели, etc. При попытке выйти из системы они останавливают выход для корректного завершения самих себя (и завершаются), повторное нажатие выхода уже нормально срабатывает

#169107

Ну, у меня не браузеры и не проигрыватели из-за отсутствия таковых. Приостановленные задачи связаны с упавшими игровыми серверами, но как я понял ничего страшного в этом нет. Спасибо за ответ.

#169190
ERT написал:
Очень интересует вопрос о приостановленных задачах. Иногда, при попытке разлогиниться, система выдает сообщение о приостановленных задачах, но при повторном logout - все же разлогинивает.
В инете пытался найти решение этого вопроса, но ничего конкретного нет (только описание, а возможно не понял). Как с этим бороться?

создайте скрипт ~/.bash_logout, и в нём укажите все задачи, которые надо остановить перед выходом из bash.
если вы выходите не из bash, а из системы, то правьте системные скрипты в /etc/init.d. Перед выключением и ребутом они выполняют функцию stop.

#169551

наверное у тебя задачи остановленные по ctrl+z или др способами
можно их убить набрав
[console]kill %номер_задачи[/console]
Получить список их и pid через
[console]
jobs
[/console]

можно продолжить их с помощью bg в background режиме
или с помощью fg в foreground

#169559
mogul82 написал:
наверное у тебя задачи остановленные по ctrl+z или др способами
можно их убить набрав

проще набрать jobs
потом fg [номер задачи]
а потом уж либо её закрыть по человечески, либо CTRL+C

#169574

нет не проще еще неизвестно что там эта задача делала

#169594
drBatty написал:
проще набрать jobs
mogul82 написал:
еще неизвестно что там эта задача делала

известно.

#169707

долго спорить собрался, раз эту задачу юзверь остановил значит она ему не нужна

#169881
mogul82 написал:
наверное у тебя задачи остановленные по ctrl+z или др способами
можно их убить набрав
[console]kill %номер_задачи[/console]

Я так понимаю по PID? Тут дело в том, что у меня они под одним именем, все (если делать запрос jobs). Как разобраться где рабочая, а где приостановленная?

#169889
ERT написал:
Я так понимаю по PID? Тут дело в том, что у меня они под одним именем, все (если делать запрос jobs). Как разобраться где рабочая, а где приостановленная?

не понял

#169934

Игровые сервера. Все имеют одно и то же имя, но разный PID. Вот так в консоли, когда запущены:
[console] PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1497 ert 20 0 156m 137m 8240 R 36 3.5 352:56.06 hlds_amd
1535 ert 20 0 179m 142m 9148 R 24 3.6 362:16.36 hlds_amd
6018 ert 20 0 122m 87m 9092 S 21 2.2 25:17.76 hlds_amd
1478 ert 20 0 116m 91m 8300 R 17 2.3 249:33.66 hlds_amd
5984 ert 20 0 139m 115m 8820 S 15 2.9 20:35.34 hlds_amd
1574 ert 20 0 129m 103m 7728 S 14 2.6 267:03.84 hlds_amd
1419 root 20 0 192m 9036 5096 S 2 0.2 36:13.50 ts3server_linux
[/console]
И приостановленные так же с именем hlds_amd. Иногда делаю killall hlds_amd - это наверняка.

#169950

а тогда [console]jobs -p[/console] покажет их pid

а еще в
[console]ps aux[/console] - они имеют опцию T в статусе
А через ps их можно посмотреть так
[console]ps aux | awk ' $8~"T" {print $2}'[/console]



можно скомбинировать с командой kill в цикле и убивать их

[console]for x in `jobs -p`; do kill -9 $x; done[/console]
или
[console]kill -9 $(jobs -p)[/console]

#169953

Пока что приостановленных задач нет. Появятся, попробую разобраться. Спасибо.

Войдите или зарегистрируйтесь, чтобы ответить.