<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Немедленное или отложенное действие ^C ^Z</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/8342.html</link>
    <description>Добрый день,&lt;br&gt;&lt;br&gt;4. В MS DOS, как известно, Control-Break распознается некоторыми функциями ввода. То есть мало того, что пользователь нажал CTRL-Break, при этом само по себе ничего не произойдет, программа еще не прервется и будет продолжать работу &amp;#8211; надо, чтобы программа вызвала функцию чтения MS DOS с клавиатуры, поддерживающую обработку Ctr-Break (если был ctrl&amp;#8212;break, из этой функции программа уже не вернется) :)&lt;br&gt;Во FreeBSD есть ^C и ^Z (suspend). Вопрос, они сразу действуют или как в MS DOS, т.е. надо, чтобы программа обратилась к терминалу? Какова внутренняя архитектура этих механизмов?&lt;br&gt;&lt;br&gt;Все вопросы - http://unixvop.narod.ru/&lt;br&gt;</description>

<item>
    <title>Немедленное или отложенное действие ^C ^Z (const86)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/8342.html#5</link>
    <pubDate>Thu, 09 Jul 2009 16:36:28 GMT</pubDate>
    <description>&amp;gt;&amp;gt;2. SIGSTOP(это про ctrl+z), программа не может игнорировать/блокировать/отложить. &lt;br&gt;&amp;gt;А что значит не может отложить?&lt;br&gt;&lt;br&gt;Она просто ничего не может сделать по этому поводу. Если STOP попал в процесс, то процесс останавливается сразу же без его ведома; не вызываются никакие обработчики. Аналогично с сигналом KILL, только его нельзя (или можно?) отправлять с терминала.&lt;br&gt;</description>
</item>

<item>
    <title>Немедленное или отложенное действие ^C ^Z (Vedmak)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/8342.html#4</link>
    <pubDate>Thu, 09 Jul 2009 13:35:13 GMT</pubDate>
    <description>&amp;gt;Пару уточнений: &lt;br&gt;&amp;gt;2. SIGSTOP(это про ctrl+z), программа не может игнорировать/блокировать/отложить. &lt;br&gt;&lt;br&gt;А что значит не может отложить? Программа должна что-то сделать, обрабатывая этот сигнал, и только после этого уйдет в фон (jobs), или это уже от нее не зависит? Может этот сигнал программа не сама обрабатывает?&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Немедленное или отложенное действие ^C ^Z (Vedmak)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/8342.html#3</link>
    <pubDate>Thu, 09 Jul 2009 13:33:51 GMT</pubDate>
    <description>&amp;gt;что-то мне подсказывает ,что Вы глупости пишете. &lt;br&gt;&lt;br&gt;Ну, одна маленькая неточность. Я имел в виду, что прерывание будет сразу (если там нет прерываний более высокого приоритета), но программа снимется не сразу. Если не создавать процедуру обработки &quot;Ctrl-Break...&quot;. Еще есть BREAK=ON (у Джордейна написано, что при этом вызов любой функции MS DOS будет проверять ctrl-break).&lt;br&gt;&lt;br&gt;&amp;gt;А то, что для _некоторых_ &lt;br&gt;&amp;gt;функций ввода это прерывание обрабатывается-это заслуга тех, кто разрабатывал &lt;br&gt;&amp;gt;эти функции. А не Ваша или Вашей программы :-)&lt;br&gt;&lt;br&gt;я такого не писал, моя заслуга в том, что я вызову эти функции, а не другие.&lt;br&gt;&lt;br&gt;&amp;gt;Посылает задаче сразу же. Без задержек, независимо от того, чем программа занята. &lt;br&gt;&lt;br&gt;Посылает-то сразу... а что дальше происходит внутри команды man например?&lt;br&gt;&lt;br&gt;&amp;gt;Вообще, лучше Вам почитать что-нибудь... Например, замечательную книгу &lt;br&gt;&amp;gt;Рочкинда &quot;Программирование для UNIX&quot;. После этого все должно стать понятнее. &lt;br&gt;&lt;br&gt;поищем. Но например в книге Теренса Чана &quot;Системное программирование на C++ для Unix&quot; н</description>
</item>

<item>
    <title>Немедленное или отложенное действие ^C ^Z (angra)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/8342.html#2</link>
    <pubDate>Thu, 09 Jul 2009 10:59:17 GMT</pubDate>
    <description>Пару уточнений:&lt;br&gt;1. Прерывания и сигналы это очень разные механизмы.&lt;br&gt;2. SIGSTOP(это про ctrl+z), программа не может игнорировать/блокировать/отложить. &lt;br&gt;</description>
</item>

<item>
    <title>Немедленное или отложенное действие ^C ^Z (VAK)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/8342.html#1</link>
    <pubDate>Thu, 09 Jul 2009 07:42:07 GMT</pubDate>
    <description>что-то мне подсказывает ,что Вы глупости пишете.&lt;br&gt;CTRL-Break генерирует прерывание и если в программе есть обработчик такового&lt;br&gt;и если этот тип прерываний не запрещен и/или если программа для MSDOS&lt;br&gt;периодически смотрит на буфер клавиатуры, тогда программа и &lt;br&gt;среагирует соответствующим образом. А то, что для _некоторых_&lt;br&gt;функций ввода это прерывание обрабатывается-это заслуга тех, кто разрабатывал&lt;br&gt;эти функции. А не Ваша или Вашей программы :-).&lt;br&gt;И кстати, ^C под MSDOS тоже работает. В &quot;некоторых функциях чтения&quot;.&lt;br&gt;&lt;br&gt;Что касается *NIX и FreeBSD в частности...&lt;br&gt;У них тоже есть механизм прерываний, только называются они сигналами.&lt;br&gt;^C, ^Z и много-много разных... И послать их можно не только нажав на кнопки клавиатуры.&lt;br&gt;И эти прерывания программе посылает операционная система.&lt;br&gt;Посылает задаче сразу же. Без задержек, независимо от того, чем программа занята.&lt;br&gt;На то оно и прерывание ;-).&lt;br&gt;Как программа будет реагировать на эти сигналы - это как уж Вы напишите свою программу.&lt;br&gt;Может заблокировать их, может отложи</description>
</item>

</channel>
</rss>
