Форум сайта python.su
0
Кто-нибудь пробовал убивать процесс по номеру/имени?
Я делал так:Код Python
os.kill(uPid, signal.SIGKILL)
но “убитые” процессы всё равно висят в списке в консоли. uPid узнаются корректно.
Добавлено через 41 минутуКод Python
os.system(“kill -9 -”+str(uPid))
os.system(“kill ”+str(uPid))
так тоже пробовал. но они стают деактивированными. но не удаляются. неужели никто ни разу в жизни не удалял процесс в питоне на убунте
есть идеи у кого-нибудь?
Офлайн
221
у меня работает на openSUSE, python 2.7. Да и собственно не помню я что когда либо были проблемы убить процесс…. А права есть на то что бы убить процесс то?
Офлайн
17
Убитый процесс становится “зомби” до тех пор, пока родитель не выполнит wait.
Офлайн
0
в консоли они помечаются <defunct>
а как можно вызвать wait зная upid - номер.?
у меня эти процессы используются для чтения с именованного канала. в какой-то момент по непонятной причине всё зависает вот я и хотел всё перезапустить.
то есть вопрос номер 2 это: как восстановить исходное состояние канала.
Отредактировано 8i (Апрель 22, 2013 12:57:52)
Офлайн
17
См. os.waitpid
Убитые процессы не занимают ресурсов и не держат открытых файлов/сокетов, так что зависает у тебя по другой причине.
Офлайн