|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Dmitry Miloserdov 2:5020/400 17 Mar 2004 13:31:43 To : Valentin Nechayev Subject : Re: Подскажите команду -------------------------------------------------------------------------------- Hello, Valentin! You wrote to me on Tue, 16 Mar 2004 19:43:53 +0000 (UTC): DM>> во-первых jobs это только для интерактивного шела. VN> Hет. Hу давайте к словам цеплятся. Ладно : формально -нет DM>> во-вторых даже убийство по jobid не гарантирует что убьется нужный DM>> процесс - просто race переностится с уровня скрипта на уровень DM>> внутренности шела. VN> Hе-а. VN> Если jobid показывает непосредственного потомка этого шелла, VN> то никакого race нету. Есть race. Hе не существует системного вызова "убить потомка". То есть в шеле все равно делается разыменование jobid в pid. wait делается из обработчика CHLD. Так что если CHLD не заблокирован между разыменованием и kill то race есть. В bash он не заблокирован. Т.е. kill_pid блокирует его но разыменование делается раньше. DM>> гарантировано безопасно наверное только trap на SIGCHLD. VN> Зачем? sh -c 'trap "exit 0" CHLD; do_smth_sloooow & sleep 10; kill $!' так вроде нет рэйса. With best regards, Dmitry Miloserdov. E-mail: dmitry@bis.ru --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/657751cd7fad.html, оценка из 5, голосов 10
|