Здравствуйте!
Очень интересует вопрос о приостановленных задачах. Иногда, при попытке разлогиниться, система выдает сообщение о приостановленных задачах, но при повторном logout - все же разлогинивает.
В инете пытался найти решение этого вопроса, но ничего конкретного нет (только описание, а возможно не понял). Как с этим бороться? Как эти самые приостановленные задачи убить? Спасибо заранее.
Приостановленные задачи
это браузеры, проигрыватели, etc. При попытке выйти из системы они останавливают выход для корректного завершения самих себя (и завершаются), повторное нажатие выхода уже нормально срабатывает
Ну, у меня не браузеры и не проигрыватели из-за отсутствия таковых. Приостановленные задачи связаны с упавшими игровыми серверами, но как я понял ничего страшного в этом нет. Спасибо за ответ.
Очень интересует вопрос о приостановленных задачах. Иногда, при попытке разлогиниться, система выдает сообщение о приостановленных задачах, но при повторном logout - все же разлогинивает.
В инете пытался найти решение этого вопроса, но ничего конкретного нет (только описание, а возможно не понял). Как с этим бороться?
создайте скрипт ~/.bash_logout, и в нём укажите все задачи, которые надо остановить перед выходом из bash.
если вы выходите не из bash, а из системы, то правьте системные скрипты в /etc/init.d. Перед выключением и ребутом они выполняют функцию stop.
наверное у тебя задачи остановленные по ctrl+z или др способами
можно их убить набрав
[console]kill %номер_задачи[/console]
Получить список их и pid через
[console]
jobs
[/console]
можно продолжить их с помощью bg в background режиме
или с помощью fg в foreground
наверное у тебя задачи остановленные по ctrl+z или др способами
можно их убить набрав
проще набрать jobs
потом fg [номер задачи]
а потом уж либо её закрыть по человечески, либо CTRL+C
нет не проще еще неизвестно что там эта задача делала
проще набрать jobs
еще неизвестно что там эта задача делала
известно.
долго спорить собрался, раз эту задачу юзверь остановил значит она ему не нужна
наверное у тебя задачи остановленные по ctrl+z или др способами
можно их убить набрав
[console]kill %номер_задачи[/console]
Я так понимаю по PID? Тут дело в том, что у меня они под одним именем, все (если делать запрос jobs). Как разобраться где рабочая, а где приостановленная?
Я так понимаю по PID? Тут дело в том, что у меня они под одним именем, все (если делать запрос jobs). Как разобраться где рабочая, а где приостановленная?
не понял
Игровые сервера. Все имеют одно и то же имя, но разный 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 - это наверняка.
а тогда [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]
Пока что приостановленных задач нет. Появятся, попробую разобраться. Спасибо.